最近我不得不搜索一些字符串值,看看哪一个匹配某个模式.在用户输入搜索词之前,字符串值的数量和模式本身都不清楚.问题是每次我的应用程序运行以下行时都注意到:
if (stringValue.matches (rexExPattern))
{
// do something so simple
}
Run Code Online (Sandbox Code Playgroud)
它需要大约40微秒.无需说当字符串值的数量超过几千时,它就会太慢.
模式类似于:
"A*B*C*D*E*F*"
Run Code Online (Sandbox Code Playgroud)
其中A~F只是这里的例子,但模式有点像上面那样.请注意*每个搜索模式实际上都会发生变化.例如,"A*B*C*"可以改变为W*D*G*A*".
我想知道是否有更好的替代上述模式,或者更一般地说,替代java正则表达式.