正则表达式
2010-10-16 11:50
134 查看
正则表达式
一、认识正则表达式
符合一定规律的表达式。
作用:用于专门操作字符串。
特点:用于一些特定的符号来表示一些代码操作。这样就简化书写。
所以学习正则表达式,就是在学习一些特殊符号的使用。
好处:可以简化对字符串的复杂操作。
弊端:符号定义越多,正则越长,阅读性越差。
二、定义javascript正则表达式
1、使用RegExp对象构造正则表达式
2、定义正则表达式直接量
三、字符类
1、普通字符和字符直接量
2、特殊字符/o /t /n /v /f /r /a /e /b /cX
3、简单字符类[]
4、反义字符类[^]
5、字符范围类[1-9]
6、预定义字符类. /w /W /s /S /d /D [/b] [...] [^...]
四、重复类数量词
1、简单重复类{n,m} {n,} {n} ? + *
2、贪婪匹配<.*>
3、惰性匹配<.*?>
4、支配匹配<.*+>
五、高级匹配模式
1、分组(...)
2、引用/n $n
__后向引用/n
3、非引用型分组(?:...)
__捕获(exp) (?<name>exp) (?:exp)
4、选择 |
5、声明 正前向声明(?=匹配条件) 反前向声明(?!匹配条件)
__零宽断言(?=exp) (?<=exp) (?!exp) (?<!exp)
6、边界 ^$ /b /B
7、锚记 ^$ /b /B (?=p) (?!p)
8、标志 /igm
9、注释 (?#comment)
操作RegExp对象
一、实例属性
global ignoreCase multiline lastIndex source
二、静态属性
input$_ lastMatch$& lastParen$+ leftContext$` multiline$* rightContext$'
三、方法
RegExp.exec() RegExp.test() RegExp.toString()
String.search() String.replace() String.match()
**************************************************************************************************************
Java正则表达式
1、匹配:String matches方法。
2、切割:String split方法。
3、替换:String replaceAll方法。
4、获取:①将正则表达式封装成对象
Pattern p = Pattern.compile(reg);
②让正则对象和要操作的字符串相关联
Matcher m = p.matcher(str);
③关联后,获取正在匹配引擎
m.find()
④通过引擎对符合规则的子串进行操作,比如取出。
m.group()
参考JDK 正则表达式概述
注意定义regex="\\d\\w\\.\\",\转义字符\d \w . \。
组的概念:可以将规则封装成一个组,用()完成。组的出现都有编号,从1开始,想要使用已经存在的组通过\n(n就是组的编号)的形式来获取。
***************************************************************************************************************
推荐网站:
正则表达式30分钟入门教程
http://deerchao.net/tutorials/regex/regex.htm
一、认识正则表达式
符合一定规律的表达式。
作用:用于专门操作字符串。
特点:用于一些特定的符号来表示一些代码操作。这样就简化书写。
所以学习正则表达式,就是在学习一些特殊符号的使用。
好处:可以简化对字符串的复杂操作。
弊端:符号定义越多,正则越长,阅读性越差。
二、定义javascript正则表达式
1、使用RegExp对象构造正则表达式
2、定义正则表达式直接量
三、字符类
1、普通字符和字符直接量
2、特殊字符/o /t /n /v /f /r /a /e /b /cX
3、简单字符类[]
4、反义字符类[^]
5、字符范围类[1-9]
6、预定义字符类. /w /W /s /S /d /D [/b] [...] [^...]
四、重复类数量词
1、简单重复类{n,m} {n,} {n} ? + *
2、贪婪匹配<.*>
3、惰性匹配<.*?>
4、支配匹配<.*+>
五、高级匹配模式
1、分组(...)
2、引用/n $n
__后向引用/n
3、非引用型分组(?:...)
__捕获(exp) (?<name>exp) (?:exp)
4、选择 |
5、声明 正前向声明(?=匹配条件) 反前向声明(?!匹配条件)
__零宽断言(?=exp) (?<=exp) (?!exp) (?<!exp)
6、边界 ^$ /b /B
7、锚记 ^$ /b /B (?=p) (?!p)
8、标志 /igm
9、注释 (?#comment)
操作RegExp对象
一、实例属性
global ignoreCase multiline lastIndex source
二、静态属性
input$_ lastMatch$& lastParen$+ leftContext$` multiline$* rightContext$'
三、方法
RegExp.exec() RegExp.test() RegExp.toString()
String.search() String.replace() String.match()
**************************************************************************************************************
Java正则表达式
1、匹配:String matches方法。
2、切割:String split方法。
3、替换:String replaceAll方法。
4、获取:①将正则表达式封装成对象
Pattern p = Pattern.compile(reg);
②让正则对象和要操作的字符串相关联
Matcher m = p.matcher(str);
③关联后,获取正在匹配引擎
m.find()
④通过引擎对符合规则的子串进行操作,比如取出。
m.group()
参考JDK 正则表达式概述
注意定义regex="\\d\\w\\.\\",\转义字符\d \w . \。
组的概念:可以将规则封装成一个组,用()完成。组的出现都有编号,从1开始,想要使用已经存在的组通过\n(n就是组的编号)的形式来获取。
***************************************************************************************************************
推荐网站:
正则表达式30分钟入门教程
http://deerchao.net/tutorials/regex/regex.htm