Java正则表达式

本文介绍Java表达式的常用使用方法

正则表达式的构造

下面列出常用的构造摘要,想要完整的摘要请访问http://tool.oschina.net/apidocs/apidoc?api=jdk-zh的pattern类

预定义字符类

. 任何字符(与行结束符可能匹配也可能不匹配)

\d 数字:[0-9]

\D 非数字: [^0-9]

\s 空白字符:[ \t\n\x0B\f\r]

\S 非空白字符:[^\s]

\w 单词字符:[a-zA-Z_0-9]

\W 非单词字符:[^\w]

Greedy 数量词

X? X,一次或一次也没有

X* X,零次或多次

X+ X,一次或多次

X X,恰好 n 次

X X,至少 n 次

X X,至少 n 次,但是不超过 m 次

中文字符匹配

\u4E00-\u9FA5

下面给出多个示例来说明正则的常规操作

手机号码

邮箱地址

网址

正则表达式的捕获组,这是一个很有用的东西,在需要获取指定字符串的时候,这个捕获组显得尤其重要。

Java中的捕获组用(正则表达式)使用,正则表达式中至少会有一个组,因为整个表达式就是一组,编号为0。

例如:请问表达式((A)(B(C)))中有几组?

答案是四组:((A)(B(C)))、(A)、(B(C))、(C)编号是0、1、2、3

我之所以说这个编号是因为后面获取的时候我们需要使用的到。

了解了什么是表达式分组之后,我们要怎么获取指定捕获组的字符串呢?

示例一

注意:捕获组要在匹配成功之后才能使用,什么意思呢?简而言之,就是需要在matcher之后才能使用。

示例二

end

喜欢的话关注一下吧

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180427G0ZEHM00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券