gpt4 book ai didi

java - 预编译简单字符串的模式,还是仅预编译正则表达式?

转载 作者:行者123 更新时间:2023-12-02 11:05:35 26 4
gpt4 key购买 nike

用例:

for( String phrase : largeDictionary )
phrase.split(",");

我明白为什么在根据正则表达式拆分或匹配字符串时应该编译和重用模式。我想知道简单的字符串文字是否也有同样的好处,或者是否有一个优化的代码路径可以在不需要分割时完全避免正则表达式,就像我上面用逗号分隔的情况一样。如果我经常这样做,我还应该创建并重用模式吗?

最佳答案

aString.split(",") - 很好,对于这样的情况你不需要模式。 http://www.docjar.com/html/api/java/lang/String.java.html当模式仅包含一个符号(也称为 delimeter)时,java 使用比使用完整正则表达式方法更简单的方法

   public String[] split(String regex, int limit) {
/* fastpath if the regex is a
(1)one-char String and this character is not one of the
RegEx's meta characters ".$|()[{^?*+\\", or
(2)two-char String and the first char is the backslash and
the second is not the ascii digit or ascii letter.
*/

关于java - 预编译简单字符串的模式,还是仅预编译正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50992894/

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