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

时间:2013-06-05 09:20:12

标签: java regex

我正在尝试使用正则表达式来完全匹配分隔符之间的一组给定关键字吗?

例如:

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

正在测试的文字:一些文字; keyone;其他文字; keytwo;一些文字; keythreeeee;

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

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

3 个答案:

答案 0 :(得分:2)

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

([keyonekeytwokeythree]+)

方括号语法告诉regexp匹配器匹配“keyonekeytwokeythree”中的任意数量的字符。因此它也匹配yekenoeerth

你正在寻找类似的东西:

;(keyone|keytwo|keythree);

答案 1 :(得分:1)

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

;(keyone|keytwo|keythree);

答案 2 :(得分:0)

我首先将分隔符内的所有文本都删除。

     (delmiterSart)(.)*(delimiterEnd)

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

     (key1|key2|keyn)+