2015-08-18 61 views
1

添加/刪除「+」不會改變輸出。但我也沒有得到任何錯誤。 「+」在這裏做什麼?正則表達式 - 連續使用「+」量詞

/.{3}+/g 
+2

在js這是一個錯誤。另一方面,「+」充當所有格量詞。 –

+0

這就是所謂的「佔有量詞」,https://docs.oracle.com/javase/tutorial/essential/regex/quant.html –

+0

這很奇怪,你不會用'+'得到任何錯誤。在什麼環境下?您能否提供完整的程序及其輸出或一系列控制檯命令?你是說'/。{3} + /'表達式實際上是用來匹配一些輸入嗎? –

回答

1

使用這個表達式debugger

它解析正則表達式並詳細描述它

/.{3}+/g 
    .{3}+ matches any character (except newline) 
     Quantifier: {3}+ Exactly 3 times 
    g modifier: global. All matches (don't return on first match) 
+2

使用regex101時,請確保選擇JavaScript。在這種情況下,它會將「+」識別爲錯誤(在另一個量詞之後)。 –

+0

是的。同意。 Upvoted。 – SergeyAn

+0

謝謝你,我是一個錯誤的環境 – airnet

0
var re = /.{3}+/g; 
^ 
SyntaxError: Invalid regular expression: /.{3}+/: Nothing to repeat at new RegExp (native) 

這是我在得到的NodeJS(v.0.12.4)

2

「+」 無效這裏,也許你的意思是

/(.{3})+/g