0

我尝试使用正则表达式与分隔符之间的给定关键字集完全匹配?

例如:

关键字:keyone、keytwo、keythree 开始分隔符:; 结束分隔符:;

被测文本:一些文本;keyone;其他文字;keytwo; 一些文字;keythreeeee;

我试过的正则表达式:;([keyonekeytwokeythree]+);

这个正则表达式的问题是,这也与 keythreeeee 匹配。我的期望是它不应该匹配 keythreeeee,因为这不是完全匹配。

4

3 回答 3

2

您应该阅读正则表达式语法。

([keyonekeytwokeythree]+)

方括号语法告诉正则表达式匹配器匹配“集合中任意数量的字符keyonekeytwokeythree”。因此它也会匹配yekenoeerth

您正在寻找类似的东西:

;(keyone|keytwo|keythree);
于 2013-06-05T09:22:53.747 回答
1

你应该使用这样的正则表达式:

;(keyone|keytwo|keythree);
于 2013-06-05T09:22:21.207 回答
0

我首先将所有文本放在分隔符中。

     (delmiterSart)(.)*(delimiterEnd)

然后在这个选定的文本上,我尝试搜索你的单词

     (key1|key2|keyn)+
于 2013-06-05T09:42:33.697 回答