java正则表达式 jar_java之正则表达式

一、匹配字符串

String类的matchs方法用的是正则表达式匹配,matchs方法与equals类似。

"javac".matchs("javac");

"javac".equals("javac");

结果都为true。

match方法更强大,不仅能匹配固定字符串,还能匹配具有相同规律的的字符串。

”javac jar".macths("javac.*");

”javac jar javac".macths("javac.*");

”javac jar java".macths("javac.*");

字符串.*匹配任何0个或者多个字符。

二、正则表达式的语法

正则表达式由字面字符和特殊字符组成。特殊字符(、)、[和]。

注意:反斜杠是一个特殊字符,在字符串中开始转义序列。所以java中需要使用\\d来代表\d。

提醒:空白字符是' ', '\t', '\n', '\r', 或者'\f'。

常用的正则表达式

正则表达式

匹配

事例

x

指定字符X

javac匹配javac

.

任意单个字符

javac匹配ja..c

(ab|cd)

ab或cd

on匹配o(a|n)

[abc]

a、b或者c

pen匹配pe[abn]

[^abc}

除开a、b和cd任意字符

sun匹配[^abc]un

[a-z]

a到z

god匹配go[a-d]

[^a-z]

除开a到z的任意字符

god匹配go[a-c]

[a-e[m-p]]

a到e或者m到p

sun匹配su[a-b[i-o]]

[a-e&&[m-p]]

a到e或者m到p

sun匹配su[a-o&&[i-o]]

\d

数字字符,等同于[0-9]

java8匹配"java[\\d]"

\D

非数字字符,等同于[^0-9]

java匹配"jav[\\D]"

\w

单词字符,等同于[a-zA-Z0-9_]

java匹配"jav\\w"

\W

非单词字符,等同于[^a-zA-Z0-9_]

java8匹配"java\\W"

\s

空白字符,等同于[\t\n\r\f]

java jar匹配"java\sjar"

\S

非空白字符,等同于[^\t\n\r\f]

java匹配"jav\S"

p*

模式p的0或多次出现

abab匹配"(ab)*"

p+

模式p的1或多次出现

aba匹配"a+ba"

p{n}

模式p的n次出现

abab不匹配".{2}"

p{n, }

模式p的至少n次出现

abab匹配".{2,}"

p{n,m}

模式p出现的次数大于等于n且小于等于m

ababa不匹配".{2,4}"

p?

模式p的0或1次出现

abab不匹配".?"

注意:单词字符是任意的字母、数字或者下划线字符。

\w等同于[a-z[A-Z][0-9]_]或者化简为[a-zA-Z0-9_]。

\W等同于[^a-zA-Z0-9_]。

以斜杠开头的正则表达式必须加中括号[]。

例如:"11-22-33".matchs("[\\w]{2}-[\\w]{2}-[\\w]{2}");          结果为true

"111-22-33".matchs("[\\w]{2}-[\\w]{2}-[\\w]{2}");

结果为false

量词符*、+、?、{n}、{n, }、{n,m}

*等同于{0,},+等同于{1,},?等同于{0,2}

警告:不要在重复量词符中使用空白,例如Z{2,4}不能在逗号后面有空白符的Z{2, 4}。

可以使用括号对模式进行分组。例如:(ab){3}匹配ababab,但是ab{3}匹配abbb。

小括号符和中括号符都是特殊字符,如果小括号符要表示其字面意思,则必须写成"\\(","\\)"。

例如:"(xxx)xxx-xxx".matchs("\\(x{3}\\)x{3}-x{3}")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值