gpt4 book ai didi

java - 如何确定字符串是否不是正则表达式?

转载 作者:搜寻专家 更新时间:2023-10-31 19:29:02 26 4
gpt4 key购买 nike

我正在尝试提高某些代码的性能。它看起来像这样:

public boolean isImportant(String token) {
for (Pattern pattern : patterns) {
return pattern.matches(token).find();
}
}

我注意到,许多模式似乎是简单的字符串文字,没有正则表达式结构。所以我想简单地将它们存储在一个单独的列表 (importantList) 中并进行相等性测试,而不是执行更昂贵的模式匹配,如下所示:

public boolean isImportant(String token) {
if (importantList.contains(token)) return true;

for (Pattern pattern : patterns) {
return pattern.matches(token).find();
}
}

如何以编程方式确定特定字符串是否不包含正则表达式结构?

编辑:我应该补充一点,答案不需要对性能敏感。 (即可以使用正则表达式)我主要关心 isImportant() 的性能,因为它被调用了数百万次,而模式的初始化只进行了一次。

最佳答案

我通常讨厌这样说的答案但是...

不要那样做。

它可能不会使代码运行得更快,事实上它甚至可能导致程序花费更多时间。

如果您真的需要优化您的代码,可能有很多更有效的地方可以去。

关于java - 如何确定字符串是否不是正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15235309/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com