正则表达式
java匹配方法
s.matches("JAVA");
s.equals("JAVA");
来询问该字符串是否匹配表达式
正则表达式语法
整行字符加上/ 表示为正则表达式
/123/
以下所有均省略//
字符集
. 某一个字符 可以用J..A匹配JAVA
(va||av) 或 可以用JA(VA|AV)
[abc] 单个字母或 可以用JAV[ABC]
[^abc] 单个字母非 不可以用JAV[Missing superscript or subscript argumentABC]
[a-e] 一串字母 可以用JAV[A-E]
[a-e[A-E]] 多条件 可以用JAV[A-E[H-X]]
&& 或 可以用JAV[A-E&&[A-C]]
转义字符
\d 一位数字
\D 非
\w 一个单字(键盘输入)
\W 非
\s 空
\S 非空
量词
a* 出现0或任意次a(贪婪)
a+ 出现1或多次a
a? 0或者1次
a{n} 刚好出现n次
a{n,} 出现n次及以上
a{n,m} 出现n-m次(不含m)
\p{P} 表示一个标志符号(键盘符号)
字符边界
^s 以s为开头
s$ 以s为结尾
\b 表示单词以此结束或以此开始
\B 非边界
(a|b)? = (a|b){0,1}
特殊
捕获与非捕获?
预搜索
起定位作用
(?=1)2 表示查找2前面的1
(?!1)2 表示查找后面不是2的1
(?<=2)1 查找2后面的1
(?<2)1 查找不在2后面的1
修饰符
/s/g 查找全局的
/s/i 不区分大小写
/s/s 让.能匹配\n了
/s/m 多行匹配
回溯
(abc) 表示一个捕获 abc
\1表示匹配第一组
\2表示第二组...
\1表示选择捕获的第一组 再进行后续匹配
应用场合
输入验证
查找替换
高级字符串操作
文件搜索和重命名
黑名单和白名单
查找
\b(\w+) (\w+)\b 表示查找 xx xx的姓名
并且捕获\1\2 再可以进行替换操作
回溯和复数
\bword(s?)\b 查找word/words
替换 phrase$1 表示替换word
标签:abc,JAVA,记录,正则表达式,JAV,查找,匹配 From: https://www.cnblogs.com/xishuiw/p/17248545.html