簡體   English   中英

如何匹配可能有或沒有后綴的JS正則表達式

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

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