【发布时间】:2021-11-25 19:52:30
【问题描述】:
使用 Java,我想检测一行是否以单词和分隔符开头,然后是“myword”,但是这个正则表达式花费的时间太长。哪里不对?
^\s*(\w+(\s|/|&|-)*)*myword
【问题讨论】:
-
你说的耗时太长是什么意思?图案太长?还是需要很长时间才能返回带有特定输入的结果?
-
对于这个例子“DEPUIS JUILLET 2011 Consultant Montreal”,它不会在 60 秒以下返回任何结果
-
你需要
String rx = "^\\s*(\\w+(?:[\\s/&-]+\\w+)*)[\\s/&-]+myword";,检查ideone.com/CT4ENA -
谢谢它的工作,但为什么这个更有效?