帮我写个java代码的正则表达式。能同时匹配【2020】0022号 和 20200021号
可以试试这个正则表达式:
\[(\d{4})\]0*(\d+)号|\d{4}0*(\d+)号
这个正则表达式可以同时匹配【2020】0022号 和 [2020]0021号。
解释一下:
\[(\d{4})\]匹配中括号内的四个数字0*匹配前导零(\d+)匹配一个或多个数字,并将其保存在第二个捕获组中号匹配最后的“号”字符|表示或的关系,匹配两种格式中的任意一种|\d{4}0*(\d+)号匹配不带中括号的格式,即四位数字 + 数字序号的形式,并将数字序号保存在第三个捕获组中。
注意:如果需要在 Java 中使用该正则表达式,请将反斜杠(\)转义成双反斜杠(\\)。例如:
String regex = "\\[(\\d{4})\\]0*(\\d+)号|\\d{4}0*(\\d+)号";
原文地址: https://www.cveoy.top/t/topic/bzcg 著作权归作者所有。请勿转载和采集!