请教高手,如何用正则表达式匹配同时出现的多个单词?

heldon 2003-11-10 06:43:51
如何用一个正则表达式匹配多个单词同时出现在一个串中?例如需要匹配"aaa"和"bbb"同时出现在一个串中,一种比较笨的办法是将多个单词的排列用'|'串起来,前面的情况可以用正则式表示为:(aaa(.*)bbb)|(bbb(.*)aaa),但如果有多个单词要匹配时正则式会很长,匹配效率也会比较低,请问有没更好的办法?或者说能否对匹配模式进行“与”运算?
...全文
1249 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
NightRanger 2003-11-13
  • 打赏
  • 举报
回复
追求效率是程序员的目标,向你学习,只是目前我也没有更好的思路,如果你知道了要一起欣赏吆
heldon 2003-11-13
  • 打赏
  • 举报
回复
to NightRanger(流浪的人): 使用程序组合多个正则式应该是可以实现任意的匹配模式,就是不知道有没更高效的办法?正则式既然提供了字符串的“或”运算怎么就不提供“与”运算?要知道在SQL的查找语句中AND的速度要远比OR的速度快。
kewin 2003-11-11
  • 打赏
  • 举报
回复
NightRanger(流浪的人)
说得有理
NightRanger 2003-11-10
  • 打赏
  • 举报
回复
为什么不创建两个Matcher对象,分别用find()检查,再将结果进行逻辑运算。
heldon 2003-11-10
  • 打赏
  • 举报
回复
先UP一下

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧