正则表达式java

本文介绍了Java中正则表达式的使用方法,包括基本字符、字符集、逻辑运算符及边界匹配符等,并通过实例说明如何构建正则表达式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正则表达式java

  • 博客分类: 
  • java
 

 

可以从比较简单的东西入手学习正则表达式。要想全面地掌握怎样构建正则表达式,可以去看JDK 文档的java.util.regex 的Pattern 类的文档。

字符
B 字符B
\xhh 16进制值0xhh 所表示的字符
\uhhhh 16进制值0xhhhh 所表示的Unicode字符
\t Tab
\n 换行符
\r 回车符
\f 换页符
\e Escape

正则表达式的强大体现在它能定义字符集(character class)。下面是一些最常见的字符集及其定义的方式,此外还有一些预定义的字符集:

字符集
. 表示任意一个字符
[abc] 表示字符a ,b ,c 中的任意一个(与a|b|c 相同)
[^abc]a ,b ,c 之外的任意一个字符(否定)
[a-zA-Z]a 到z 或A 到Z 当中的任意一个字符(范围)
[abc[hij]] a,b,c,h,i,j 中的任意一个字符(与a|b|c|h|i|j 相同)(并集)
[a-z&&[hij]] h,i,j 中的一个(交集)
\s 空格字符(空格键, tab, 换行, 换页, 回车)
\S 非空格字符([^\s] )
\d 一个数字,也就是[0-9]
\D 一个非数字的字符,也就是[^0-9]
\w 一个单词字符(word character),即[a-zA-Z_0-9]
\W 一个非单词的字符,[^\w]

如果你用过其它语言的正则表达式,那么你一眼就能看出反斜杠的与众不同。在其它语言里,"\\ "的意思是"我只是要在正则表达式里插入一个反斜杠。没什么特别的意思。"但是在Java里,"\\ "的意思是"我要插入一个正则表达式的反斜杠,所以跟在它后面的那个字符的意思就变了。"举例来说,如果你想表示一个或更多的"单词字符",那么这个正则表达式就应该是"\\w+ "。如果你要插入一个反斜杠,那就得用"\\\\ "。不过像换行,跳格之类的还是只用一根反斜杠:"\n\t"。

这里只给你讲一个例子;你应该JDK 文档的java.util.regex.Pattern 加到收藏夹里,这样就能很容易地找到各种正则表达式的模式了。

逻辑运算符
XY X 后面跟着 Y
X|Y X或Y
(X) 一个"要匹配的组(capturing group)". 以后可以用\i来表示第i个被匹配的组。
边界匹配符
^ 一行的开始
$ 一行的结尾
\b 一个单词的边界
\B 一个非单词的边界
\G 前一个匹配的结束

举一个具体一些的例子。下面这些正则表达式都是合法的,而且都能匹配"Rudolph":


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值