两种方式
1-Pattern.mathces():这种情况下,字符串必须完全匹配正则表达式才能返回true,如图
如果正则表达式写:[A-Z],那意思是匹配A-Z单个字符,而不是整个字符串,会返回false
我的本意是:字符串里面有一个大写的字符就算匹配成功,就只写了[A-Z],结果都返回false,真是百思不得其解,后来看见正确的写法才悟到。
顺便贴一下解释:.表示任意字符,*表示个数随意,所以这个正则就是表示,前面有没有字符,有多少字符,后面有多少, 都ok,只要有一个大写字符就行了。
^[A-Z].* 就表示:以大写字符开头,后面任意字符
[^A].* 表示:以非A的字符开头,后面任意
^[a].*f$ 表示:A开头,f结尾,中间随意
一些简写:
\d :表示数字
情况举例
1.匹配数字
该表达式表示匹配任意数字开头的字符串,所以最开始的a没有被匹配上。
如果放在match方法里面,匹配会失败。
2.匹配字母、数字、下划线
\w:表示字母 或 数字 或 下划线
3.匹配非2
\W:表示 非以上三种
试验正则匹配网站:正则表达式在线测试 | 菜鸟工具