[英]How to match a JS regexp that may or may not have a suffix
我正在嘗試制作一個JS正則表達式,它返回所有這些輸入字符串中的example
,其中可能包含問號。
example?after?after
example?after
example?
example
example
將是一個動態字符串,所以我不能字面上匹配字符串'example'。
'example?after?after'.match(/(.*?)\?/)[1]
'example?after'.match(/(.*?)\?/)[1]
'example?'.match(/(.*?)\?/)[1]
'example'.match(/(.*?)\?/)[1]
上面的前3個返回example
符合預期,但最后一個給出錯誤。 如何修改正則表達式以返回預期結果?
你可以用
/^[^?]+/
請參閱正則表達式演示
^
匹配字符串的開頭, [^?]+
匹配除?
之外的一個或多個符號?
。
var regex = /^[^?]+/; var strs =[ 'example?after?after', 'example?after', 'example?', 'example']; for (var s of strs) { console.log(s + " => " + s.match(regex)); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.