利用正则表达式分割字符串


在Java中我们经常利用正则表达式来分割字符串,正则表达式的确给我们带来了诸多方便,但正则表达式中也有很多细节之处值得我们注意,否则就会给我们带来意想不到的结果。

下面是我总结的一些值得注意的地方:

(1)反斜杠在正则表达式中只能以偶数的次数连续出现

  例如:\\(, \\{, \\\\

(2)特殊的字符在正则表达式中需要进行转义处理 

特殊字符 处理方式
          +          \\+
         ?          \\?
         \          \\\\
         *           \\*
         ^           \\^
          .           \\.
         $           \\$
         (          \\(
         )          \\)
        {           \\{
         }           \\}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(3)如果正则表达式匹配的分割串出现在目标串的首部,则分割后产生的第一个字符串为空字符串

  String[] str = "abcfhdjfabcjdkabc".split("(abc)+");

  str[0]是一个空字符串

(4)当要指定正则表达式中分割字符串的次数时,应将分割字符串用()括起来

  String[] str = "abcdfifjabcabcdfkabcabckgflh".split("(abc)+");


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM