java正则表达式学习心得_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java正则表达式学习心得

java正则表达式学习心得

 2014/6/1 6:46:26  scbzly_4223  程序员俱乐部  我要评论(0)
  • 摘要:前段时间做些小东西的时候遇到字符串提取处理,感觉写起来非常费力,于是再次温习了正则表达式内容,在原来模糊的基础上学习了许多:基础的比如:\的作用匹配字符,如需要匹配反斜线则为:("\\".matches("\\\\"),注意因为程序把反斜线作为转义字符需要再次转义为反斜线。[]的作用是匹配每个特定范围的单个字符,其中&&表示交集^表示非该范围字符如:"y".matches("[a-z&&[^stz]]"//表示在a-z并除去stz的范围。【a-q【q-z】
  • 标签:学习 Java 正则表达式 表达式 正则

前段时间做些小东西的时候遇到字符串提取处理,感觉写起来非常费力,于是再次温习了正则表达式内容,在原来模糊的基础上学习了许多:

基础的比如:

?

\ 的作用匹配字符,如需要匹配反斜线则为:("\\".matches("\\\\"),注意因为程序把反斜线作为转义字符需要再次转义为反斜线。

?

[] 的作用是匹配每个特定范围的单个字符,其中&&表示交集^表示非该范围字符

如:"y".matches("[a-z&&[^stz]]"??? //表示在a-z并除去stz的范围。

???????【a-q【q-z】】表示是a-q或q-z范围。

?

?

预定义字符类 . 任何字符(与行结束符可能匹配也可能不匹配) \d 数字:[0-9] \D 非数字: [^0-9] \s 空白字符:[ \t\n\x0B\f\r] \S 非空白字符:[^\s] \w 单词字符:[a-zA-Z_0-9] \W

非单词字符:[^\w]

?

?

?

?

?

?

{ m,n} 作用是限定前面内容的次数范围

如:"211525".matches("\\d{3,10}") //表示匹配数字个数在3到10的字符串。

?

? *? + 的作用是限定次数,?表示一次或一次也没有,*表零次或多次,+一次或多次。

?

Greedy 数量词

默认模式,先吞掉最多个数字符,然后判断匹配,然后再依次吐出一个字符来匹配,直到没有。

?

?

Reluctant (不情愿的)数量词?

再改模式下,先吞掉最少限制数量字符个数的字符,然后判断匹配,然后再依次吞一个字符,直到匹配成功或都匹配不到。

?

Possessive 数量词+

独占式,吞了不往外吐,也不查找子串的匹配是否。

?

大家需要根据需求自由选择不同模式。

  • class='magplus' title='点击查看原始大小图片' />
  • 大小: 123 KB
  • 查看图片附件
上一篇: 最近在用mvc3开发时遇到的一些小问题与解决方法.... 下一篇: 没有下一篇了!
发表评论
用户名: 匿名