Java正则表达式

前景:多次遇到Java正则表达式的使用,比如密码框输入字符格式的匹配,从第三方接口获得原始数据需用正则表达式规范取出使用等,以此总结一下,加深印象

正则表达式  表达了一中字符串的模式,其功能可用来搜素,编辑,处理文本等,在多种语言中均有体现。

上例子:

string pattern="Hello World"   该字符串pattren就是一个简单的正则表达式  匹配的就是"Hello World" 字符串

如:1.

String line="study hard dayday up!sgy666 sure?"

String pattern=“()()()””   //该字符串就是一种匹配模式,相匹配的有0或者多个字符串

Pattern r=Pattern.compile(pattern)//创建Pattern对象

Matcher m=r.matcher(pattern,line);

语法

java语法字符串中反斜线为转义字符

System.out.print("\\");    // 输出为 \
System.out.print("\\\\");  // 输出为 \\

字符

说明

\

将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如, n匹配字符 n。\n 匹配换行符。序列 \\\\ 匹配 \\ ,\\( 匹配 (。

^

匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与"\n"或"\r"之后的位置匹配。

$

匹配输入字符串结尾的位置。如果设置了 RegExp 对象的 Multiline 属性,$ 还会与"\n"或"\r"之前的位置匹配。

*

零次或多次匹配前面的字符或子表达式。例如,zo* 匹配"z"和"zoo"。* 等效于 {0,}。

+

一次或多次匹配前面的字符或子表达式。例如,"zo+"与"zo"和"zoo"匹配,但与"z"不匹配。+ 等效于 {1,}。

?

零次或一次匹配前面的字符或子表达式。例如,"do(es)?"匹配"do"或"does"中的"do"。? 等效于 {0,1}。

{n}

是非负整数。正好匹配 n 次。例如,"o{2}"与"Bob"中的"o"不匹配,但与"food"中的两个"o"匹配。

{n,}

是非负整数。至少匹配 次。例如,"o{2,}"不匹配"Bob"中的"o",而匹配"foooood"中的所有 o。"o{1,}"等效于"o+"。"o{0,}"等效于"o*"。

{n,m}

m 和 n 是非负整数,其中 n <= m。匹配至少 n 次,至多 m 次。例如,"o{1,3}"匹配"fooooood"中的头三个 o。'o{0,1}' 等效于 'o?'。注意:您不能将空格插入逗号和数字之间。

这里只展示部分字符说明

捕获组(匹配组)

捕获组是通过从左至右计算其开括号来编号。例如,在表达式((A)(B(C))),有四个这样的组(即复合该模式的字符串):比如A()

  • ((A)(B(C)))   本身
  • (A)
  • (B(C))
  • (C)

可能有点迷,下面多出例子理解

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值