正则表达式查找相同的连续单词

时间:2014-11-03 10:20:40

标签: regex

我是正则表达式的新手,我在使用正则表达式识别相同的连续单词时遇到问题。以下是场景。

以下是数据:

;af;aj;am;an;ao;ap12;aq123;ar;as;ad;af1223;

我当前的正则表达式为(;[a-z][a-z];),它只匹配以下集合; af; ; am; ; ao; < / strong>,; ar; ; ad; ,但我的期望是匹配所有这些集合。 ; af; aj; am; an; ao; &amp;的; AR;作为;广告;

有人可以指导我如何匹配这些模式吗?

2 个答案:

答案 0 :(得分:1)

您似乎尝试提取此;[a-z][a-z];格式的子字符串。如果是,那么你可以简单地将你的正则表达式放在一个预测中,以进行重叠匹配。

(?=(;[a-z][a-z];))

DEMO

答案 1 :(得分:0)

(;[a-z][a-z](?=;))

试试这个。这会返回你正在寻找的群体,虽然不清楚它们是如何相同的。

由于这个事实,urs没有工作的原因(; [az] [az] ;)没有为下一个元素留下;。所以它不能匹配,因为它前面没有;。前瞻断言不会使;进入,从而启用所有匹配。

参见演示。

http://regex101.com/r/tF4jD3/4