我需要在字符串中定义N 个给定单词中的一个。例如,让我们采取以下措施zero:.onetwo
部分地,这个表达式有助于解决这个问题:
/\b(?:zero|\.one|two)\b/
但是有一个问题:它没有定义.one,因为它以非单词字符(.)开头
这种情况的正确表达应该是什么?
我需要在字符串中定义N 个给定单词中的一个。例如,让我们采取以下措施zero:.onetwo
部分地,这个表达式有助于解决这个问题:
/\b(?:zero|\.one|two)\b/
但是有一个问题:它没有定义.one,因为它以非单词字符(.)开头
这种情况的正确表达应该是什么?
关键是正则表达式
\b\.one\b可能是自相矛盾的,因为 这里已经有一个单词边界,它在点和字母o:之间.one,这个表达式只有在点的左边有另一个单词边界时才有效,例如:some.one你需要这个吗?我不知道。因此,您必须从以下内容开始:
然后可能会添加一个负面的前瞻:
好吧,最终可以将其缩短为以下内容:
测试:https ://regex101.com/r/IkeH4m/1