【发布时间】:2016-11-14 21:06:08
【问题描述】:
我想创建一个正则表达式,以便将字符串分解为字典中的单词。如果字符串匹配,我可以迭代每个组并进行一些更改。有些词是其他词的前缀。但是,像 /(HH|HH12)+/ 这样的正则表达式不会匹配字符串 HH12HH link。正则表达式有什么问题?它应该匹配字符串中的第一个HH12,然后是HH?
【问题讨论】:
-
/(HH(?:12)?)+/怎么样 -
@EliSadoff 我必须保留
HH和HH12,因为在迭代组时我需要知道它是HH或HH12。另外,这只是一个例子。想象您只有一本字典,而HH和HH12在字典中。字典中的单词也在变化。 -
切换交替,它首先匹配
HH,然后就没有其他匹配了。或者在模式末尾添加$。 -
@SebastianProske 谢谢。但即使我添加了
$,仍然有一组而不是2。link -
让我准确地说:您想确保字符串仅由
HH12或HH组成,如果是,则标记为HH或HH12?还是只想得到连续的HH/HH12?