我有以下字符串
test test.a test.b test.a.b test2.a test2 test2.a.b
以及以下正则表达式
/(test(\.)(\S*)?)/gi
这将返回以下test.a
test.b
test.a.b
我想要的是返回test
。
如果我(\.)?
可选,它也会返回test2.a
,而我也不想这样做。
我正在寻找的是有条件。如果在test.whatever.else
返回test
后有空格,则在测试后返回点test
,否则其他内容不匹配。
答案 0 :(得分:3)
答案 1 :(得分:0)
您可以使用替换方式,以便test
后跟点或空格,而不是使点可选:
/test(?= )|(test(\.)(\S*)?)/gi
答案 2 :(得分:0)
您也可以尝试添加\ b以匹配单词end,例如:
/(test(\.?\b)(\S*)?)/ig
......或积极向前看:
/(test?(?=[\. ])(\S*))/ig