簡體   English   中英

為什么使用正則表達式。*? 只匹配JavaScript中的空字符串?

[英]why regular expression .*? only match an empty string in javascript?

/.*?/.exec("abc");//output [""]

我認為.*? 是非貪婪的,它應該返回a

好吧,這是可以預期的,因為.*表示0或更大,並放置? 您將其設為非貪婪,因此它匹配一個空字符串。

如果要匹配a ,則應使用:

 /.+?/.exec("abc");

差異是+而非* ,表示使用非貪婪量詞匹配1個或多個字符。

通過使用*代替eg +您允許將空字符串作為非貪婪選項進行匹配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM