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