总结 Java Regex正则匹配(一)

示例:

[{"A":{"1112947673174614016":"2018-01-01 00:00:00","1112947673191391232":"100"},"B":"","id":"1112951217487323136"},{"A":
{"1151729811494854656":"20","1151728273368080384":"2030-07-19 12:00"},"B":"","id":"1151730121877544960"}]

想要达成的效果:

匹配一个或多个{"A":"","B":"","id":""}

正则表达式:

.*([{]\"A\":.*\"B\":.*\"id\":.*[}]).*

测试正则匹配结果:

正则知识点补充:

1、?通配符匹配文件名中的0个或1个字符,而*通配符匹配0个或多个字符,+通配符匹配1个或多个字符;

2、^[0-9]+abc$:^是匹配输入字符串的开始位置;[0-9]+匹配多个数字,[0-9]匹配单个数字,+匹配1个或多个;abc$匹配字符abc并以abc结尾,$为匹配输入字符串的结束位置;

3、^[a-z0-9_-]{3,15}$:
   ^:开始标记;
   [a-z0-9_-]:字母(a-z)数字(0-9)下划线_连字符;
   {3,15}:3到15个字符的长度;
   $:结束标记;

4、colou?r可以匹配color或者colour,?问号代表前面的字符最多只可以出现一次(0次、或1次);

5、runoo\*b可匹配runoo*b;对特殊字符需转义后匹配,即在其前面加一个\反斜杠;

6、{n},n是一个非负整数。匹配确定的次数。例如,‘o{2}’不能匹配‘Bob’中的‘o’,但是能匹配‘food’中的两个‘o’;

7、{n,},n是一个非负整数。至少匹配n次。例如,‘o{2,}’不能匹配‘Bob’中的‘o’,但能匹配‘foooood’中所有的‘o’。‘o{1,}’等价于‘0+’,‘o{0,}’等价于‘o*’;

8、{n,m},m和n均为非负整数,其中n<m。最少匹配n次且最多匹配m次。

9、^匹配输入字符串开始的位置;$匹配输入字符串结尾的位置;\b匹配一个单词边界;
  例如‘
/\bCha/’匹配Chapter,‘/ter\b/’匹配Chapter;‘er\b’可以匹配‘never’中的‘er’,但不能匹配‘verb’中的‘er’。‘er\B’能匹配‘verb’中的‘er’,但不能匹配‘never’中的‘er’; 10、x|y,匹配x或y。例如‘z|food’能匹配‘z’或‘food’;‘(z|f)ood’能匹配‘zood’或‘food’; 11、[xyz],匹配所包含的任一一个字符。例如,‘[abc]’可以匹配‘plain’中的‘a’; 12、[^xyz],匹配未包含的任意字符。例如,‘[abc]’可以匹配‘plain’中的‘p’,‘l’,‘i’,‘n’; 13、\d匹配一个数字字符。等价于[0-9];\D匹配一个非数字字符。等价于[^0-9]; 14、\s匹配任何空白字符,包括空格、制表符、换页符等; 15、\w匹配字母、数字、下划线。等价于[A-Za-z0-9_] 16、(.)\num,匹配num个连续的相同字符; 17、\,将下一个字符标记为一个特殊字符,或一个原义字符等;‘\n’匹配一个换行符,‘\r’表示回车,‘\\’匹配一个‘\’,‘\(’匹配一个单括号(’。
菜鸟驿站,正则校验及常用正则表达式参考:http://c.runoob.com/front-end/854
posted @ 2020-07-10 18:09  王晓鸣  阅读(549)  评论(0编辑  收藏  举报