记录一些正则表达式

在java中通过标点符号和空白符等正则表达式来分割字符串

1.正则表达式 [\\p{Punct}\\s]+

String[] Res = Test.split("[\\p{Punct}\\s]+");

 

 

 

 结论:可以分割空格,以及英文符号,不支持中文符号,大括号除外(个人任务大括号不分中英文),,同时把数字作为分割

2.正则表达式\\P{L}+

    /*
              小写p后大括号里面的值得意义
        P:标点符号
        L:字母; 
        M:标记符号(一般不会单独出现); 
        Z:分隔符(比如空格、换行等); 
        S:符号(数学符号、货币符号等); 
        N:数字(阿拉伯数字、罗马数字等); 
        C:其他字符 
               以上的都有详细分类
        */
        String[] Res = Test.split("\\P{L}+");

 

 

 

 

 结论:可以分割各种符号空格,不分中英文,同时把数字作为分割

3.正则表达式\\W+

String[] Res = Test.split("\\W+");

 

 

 

 结论:按照除了英文以外的字符分割

4.正则表达式 [\\p{P}\\s]+


String[] Res = Test.split("[\\p{P}\\s]+");

结论:去掉各种标点以及空格

2021-11-30手机号码正则

var phone =/^(13[0-9]{9}|14[01456789]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;   //正则1
var phone = /^1(3[0-9]|4[01456789]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/;  //正则2

 

中国电信号段:133、153、173、177、180、181、189、190、191、193、199

中国联通号段:130、131、132、145、155、156、166、167、171、175、176、185、186、196

中国移动号段:134(0-8)、135、136、137、138、139、1440、147、148、150、151、152、157、158、159、172、178、182、183、184、187、188、195、197、198

中国广电号段:192

 其他号段:14号段部分为上网卡专属号段:中国联通145,中国移动147,中国电信149

虚拟运营商:电信:1700、1701、1702、162  移动:1703、1705、1706、165   联通:1704、1707、1708、1709、171、167    卫星通信:1349、174    物联网:140、141、144、146、148

13开头的手机号是全段:13 [0123456789] 比如130,131132139
14[01456879] 比如140,141,144145149
15 [012356789] 比如150,151152153155159
16[2567] 比如:162,165,166,167
17 [01235678] 比如170,171172173178
18开头的手机号是全段:18[0123456789] 比如180,181182189
19 [012356789] 比如190,191192193195159

 

未完待续...

posted @ 2020-10-28 09:26  Yesong_Li  阅读(653)  评论(0)    收藏  举报