详解java中的正则表达式(2)

示例 说明
B   指定字符B  
\xhh   16进制表示字符,0xhh  
\uhhhh   16进制表示unicode字符0xhhhh  
\t   制表符TAB  
\n   换行符  
\r   回车  
\f   换页  
\e   转义(escape)  

字符类

下表列出了正则表达式中常用的字符类

示例 说明
.   匹配任意单个字符  
[abc]   包含abc中任意的字符,等价于a  
[^abc]   除了abc外的任意字符  
[a-zA-Z]   从a到z或者从A到Z中的任意字符  
[abd[1-9]]   abd中任意字符或者1-9中任意字符,取并集  
[a-z&&[hij]]   任意h、i、j字符,取交集  
\s   空白符(空格、tab、换行、换页和回车)  
\S   非空白符(^\s)  
\d   数字(0-9)  
\D   非数字(^0-9)  
\w   词字符[a-zA-Z0-9]  
\W   非词字符[^\w]  

逻辑操作符

示例 说明
XY   Y跟在X后边  
X   Y  
(X)   捕获组  

边界匹配符

例 说明
^   一行的起始  
$   一行的结束  
\b   词的边界  
\B   非词的边界  
\G   前一个匹配的结束  

一个简单的例子来创建上面表中的正则表达式

private static String s = "java123\nJAVA";//形式为"[a-z]{4}[0-9]{3}\s[A-Z]{4} public static void main(String[] args) { testOne(s); } private static void testOne(String s) { System.out.println(s); System.out.println(s.matches(".+\\s.\\S+"));//测试"."匹配任意字符与空白字符"\s与非空白字符\S" System.out.println(s.matches("[a-z]+[1-9]+\\s[A-Z]+"));//测试[a-zA-Z0-9]的任意匹配 System.out.println(s.matches("[^0-9]+[^a-z]+[^\\S][^a-z]+"));//测试^(非) System.out.println(s.matches("[bv[ja]]+[123]+\\s[A-Z&&1JAV]+"));//测试与和或 System.out.println(s.matches("\\w{4}\\d{3}\\s\\w{4}"));//测试\w词字符与\d数字 System.out.println(s.matches("\\D{4}\\w{3}\\W\\D{4}"));//测试非词字符\W与非数字\D }

注释中已经写的相当清楚了,输出结果为:

java123 JAVA true true true true true true

总结

以上所述是小编给大家介绍的java中的正则表达式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjsypx.html