码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式

时间:2017-07-30 00:15:19      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:贪婪   语言   match   个数   pre   public   new   replace   res   

Regular Expression 正则表达式
一种约束字符串的语法规则.多种编程语言都支持.
Java对正则的支持.Patterm/Matcher/String.
主要的元字符: . \ + - * & | $ ? () [] {}
public static boolean matches(regex,str)
regex为正则表达式.str为需要判断的对象.

重复匹配
x{n} x{n,} x{n,m} x*=x{0,} x+=x{1,} x?=x{0,1}

选择匹配
a|b|c 匹配a或者b或者c a|b|c与[abc]的区别
[abc] / [^abc] / [-]范围匹配 都匹配一个字符.
[\\\\] "\\"

字符类
\w 一个字符.Java中不能匹配中文. \W一个非\w字符.
\d \D一个数字与非数字字符 // \s \S 一个空白和非空白字符

Matcher类
Matcher matcher = Pattern.compile(regex).matcher(str);
while (matcher.find())//str中与regex匹配的子字符串是否存在
{ System.out.println(matcher.group());}//若有则按顺序取出来.

贪婪匹配和非贪婪匹配
"[1-9][0-9]{4,}" //尽可能多的匹配 "[1-9][0-9]{4,}?" 相当于匹
配"[1-9][0-9]{4}"加?就只要满足5个就取值了非贪婪匹配.

String支持正则的操作方法.
String str=newString;
str.split(regex)//以符合这个正则表达式的字符串来进行分割
str.replaceAll(regex,str2) 用str2来全部替换str中的符合正则表达式
的字符串.
str.matches(regex)/boolean b=Pattern.matches(regex,str);

位置匹配
^ 文本开始 $文本结束 \\bstr\\b 则取出str\b表示单词边界.


(a|b)c/ac|bc (abc)d\1/abcdabc

Java里面使用
Pattern.CASS_INSENSITIVE常量表示正则表达式里的 i大小写不敏感
Pattern.MULTILINE 表示正则表达式里的 m 多行匹配

正则表达式

标签:贪婪   语言   match   个数   pre   public   new   replace   res   

原文地址:http://www.cnblogs.com/yqwstart2017/p/7257846.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!