使用谷歌和堆栈溢出时,我找不到任何东西
我需要使用javascript RegEx匹配1-1-1而不是-1-1-1或1-1-1-
所以它必须以数字开头并以数字结尾,并且必须与" - "分开。
我无法弄明白,怎么做。
它甚至可能吗?
答案 0 :(得分:1)
不幸的是,JavaScript正则表达式没有后视(请参阅javascript regex - look behind alternative?),因此要排除前面的-
,正则表达式也必须匹配前面的字符(如只要它不是-
)。
由于可能没有前面的字符(输入以1
开头),您还必须在输入的开头(^
)匹配。
所以,这个正则表达式会这样做:(?:[^-]|^)(1(?:-1)+)(?!-)
请参阅regex101.com。
是否应与独立1
匹配,或仅在1-1
(及更长时间)匹配,由您决定。上面的正则表达式与独立1
不匹配。将+
更改为*
即可更改。
我还添加了您想要匹配的实际文本的捕获,即没有前导字符。如果不需要,您可以删除()
周围的额外1(?:-1)+
。