[英]regex match based on condition
我有以下字符串
test test.a test.b test.a.b test2.a test2 test2.a.b
和以下的正則表達式
/(test(\.)(\S*)?)/gi
這將返回以下test.a
test.b
test.ab
我想要的是返回test
。
如果我做(\\.)?
可選它test2.a
返回test2.a
,我不希望這樣。
我正在尋找的是有條件。 如果在測試返回test.whatever.else
之后有一個點,如果test
返回test
后有空格,否則不匹配任何東西。
您可以使用交替,以便test
后跟點或空格,而不是使點可選:
/test(?= )|(test(\.)(\S*)?)/gi
您可以嘗試添加\\ b以匹配單詞end,例如:
/(test(\\.?\\b)(\\S*)?)/ig
......或積極向前看:
/(test?(?=[\\. ])(\\S*))/ig
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.