[英]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.