as3关于正则表达式的那些事
相信每一个程序员都知道正则表达式吧,相信你们也都了如指掌了,但是我却是这方面的菜鸟了,因为在工作中很少去用到,但是在最近我的开发这个采集器的时候就用到了,也正是我学习的机会,在这留个学习笔记。请勿鄙视
翻了下api http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/RegExp.html感觉没有多大的帮助
1.正则表达式由两个部分组成:一部分由双斜杠来标示字符串起始位置,这部分叫匹配模式,用来描述字符串特征的;另一部分是在第二个斜杠后面的字母,叫做正则表达式的标志位,是gimsx这五个字母的组合。
例如:var zfc: RegExp=/hello/g;
正则表达式还可以使用正则表达式类的构造函数来生成一个正则表达式实例
例如:var zfc: RegExp=new RegExp(“hello”,”g”);
2.正则表达式中的字符集
字符集是指由中括号里定义的字符集合。字符集中的字符只要有一个符合特征描述,那么就会被认为匹配。字符集只能匹配一个字符
在字符集中我们可以使用连字符“-”来定义一个范围。3个常用的字符集[A-Z]、[a-z]、[0-9]
3.取反符号(^)在字符集中的作用是对方括号里面的字符集取反。即使用了取反符号,只要是不符合字符集描述的字符就符合匹配。
4.字符集中需要转义的特殊字符。我们只需对正则表达式字符集元字符中的“[^-”进行转义。
5.特殊的点号(.)
正则表达式中用“.”号来表示任何字符。但“.”号不匹配换行符(n)。AS3提供一个单行模式标志符(s)来让“.”号匹配换行符。
6.选择符(|)
选择符“|”表示选择,用来匹配多个可能的正则表达式中的一个。
7.括号与分组
用圆括号将表达式的一部分括起来,就会将这部分表达式定义成组。组将被当成一个整体来进行操作。这样的操作,被称为分组。
8.用正则表达式描述字符串的重复
显式限定符是使用花括号{}及其中的数字值表示模式出现次数的上下限的方式。除了显式限定符,还有非显式限定符
如果限定符前面是跟着字符集,那么就限定符合字符集描述的特征字符重复次数。
如果限定符前面是跟着组,那么就限定符合组内表达式描述的特征字符串重复次数。
9.正则表达式定位符及其含义
“^”匹配输入字符串的开始位置
“$”匹配输入字符串的结束位置
“b” 匹配一个单词边界,也就是指单词和空格间的位置
“B” 匹配非单词边界
10.正则表达式的5个标志位
“g” global 匹配多个
“i” ignoreCase 不区分大小写
“m”multiline 设置此标志后,$和^可以分别匹配行的开头和结尾
“s” dotall 设置此标志后,“.”点号可以匹配换行符(n)
“x” extended 允许扩展的正则表达式
11.正则表达式中元字符优先级
%z a-P
相同优先级总左到右,不同优先级先高后低。
元字符优先级如下:
(), (?:), (?=), []
+, ?.,{n},{n,},{n,m}
^,$,字符