正则表达式在筛选字符串的时候特别有用,但有时候会记不得语法,除了一些常用的匹配,有些自己用到的需要记下来,以便以后查找
PS:Regexper是JS风格的正则,所以JAVA中的\需要\\
find和match的区别:
find是里面有就能返回true.
match一般要完整匹配。
筛选包名
例如:
com.test.dto.demo.dto
想要替换成:
com.test.po.demo.po
表达式:
^*\\.dto$|^*\\.dto(?=\\.)$*
匹配大小写名字
PS:
[]中匹配一个字符,可以加范围如:A-Za-z0-9
例如
XXXQuery
XXXquery
XXXQUERY
表达式
^*[qQ][uU][eE][rR][yY]$
格式化字符串
对字符串中的空格,回车进行排除
\s*|\t|\r|\n
只含有汉字、数字、字母、下划线,0到100,不能以下划线开头和结尾
^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]{0,100}$
(?!_) 不能以_开头
(?!.*?_$) 不能以_结尾
[a-zA-Z0-9_\u4e00-\u9fa5] 汉字、数字、字母、下划线
密码-6位数字顺序升/降
(?:(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(?=7)|7(?=8)|8(?=9)){5}|(?:9(?=8)|8(?=7)|7(?=6)|6(?=5)|5(?=4)|4(?=3)|3(?=2)|2(?=1)|1(?=0)){5})\d
字母版的
(?:(?:a(?=b)|b(?=c)|c(?=d)|d(?=e)|e(?=f)|f(?=g)|g(?=h)|h(?=i)|i(?=j)|j(?=k)|k(?=l)|l(?=m)|m(?=n)|n(?=o)|o(?=p)|p(?=q)|q(?=r)|r(?=s)|s(?=t)|t(?=u)|u(?=v)|v(?=w)|w(?=x)|x(?=y)|y(?=z)|z(?=a)){5})|(?:(?:z(?=y)|y(?=x)|x(?=w)|w(?=v)|v(?=u)|u(?=t)|t(?=s)|s(?=r)|r(?=q)|q(?=p)|p(?=o)|o(?=n)|n(?=m)|m(?=l)|l(?=k)|k(?=j)|j(?=i)|i(?=h)|h(?=g)|g(?=f)|f(?=e)|e(?=d)|d(?=c)|c(?=b)|b(?=a)|a(?=z)){5})