Flash as3 正则表达式

一、术语
- 字面字符:可以直接显示的字符
- 元字符:有特殊含义的字符,有()[]{} .*+? ^$|
- 转义字符:反斜杠\
- 元序列:有特殊含义的字符序列
- 字符类:字符集合其中取一
- 数量表示符:用于表示匹配项重复的次数

二、基本概念

  • 正则表达式包含模式和标志
  • ^:匹配字符串开头当设置了m时匹配行开头
  • $:匹配字符串的结尾,当设置了m时还匹配换行符前面的位置。
  • .:匹配任意单个字符,当设置了s时匹配换行符。
  • 数量表示符
  • *:重复0或者多次
  • .:重复1或者多次
  • ?:重复0或者1次
  • {m}:重复m次
  • {m,}:重复m次m或以上
  • {m,n}:重复m到n次数
    默认情况,正则会执行无限匹配,即尝试尽可能多的匹配之后才进入正则下一部分。可以在数量符后面添加?更改为惰性匹配,这时会匹配最少的字符就进入之后的模式。

6.字符类(字符集合)[]
定义匹配集合中任意单个字符。在字符类中,通常在正则里的元字符和元序列不具特殊含义不需要转义。除了以下几个
]-^,其中-用于表示范围,^表示取反,即不在字符类中,仅当在开头才有特殊含义才需要反转。

7.使用组()
捕获组:可以在正则中用\1\2的形式逆向引用组,在字符中可以通过 1 <script type="math/tex" id="MathJax-Element-137">1</script>2的形式引用。
非捕获组:(?:)
正向前捕获组:(?=)
负向前捕获组:(?!)
命名捕获组:(?P)

三、标志和属性

  • g:全局匹配搜索,多个匹配。
  • i:不区分字母大小写。
  • m:设置$可以访问行头,设置^可以访问行尾。
  • x:允许扩展,自动忽略空格字符。
  • lastIndex:指定字符串中的索引位置用于下次匹配。

四、创建
正则可以用2种但是来创建,一种是正则语法,另一种是使用带字符串的构造函数。
使用正则语法:在需要包含/的正则里面需要用\转义,如果要让元字符直接显示,需要在前面加用转义字符。
使用构造函数:在包含引号、\和元序列的前面需要加转义字符。该过程实际就是字符串解析成正则表达式语法,在匹配的时候再对正则表达式语法解析。

五、使用
1.RegExp.test(str:String):void
检测str是否有与正则匹配的子串
2.RegExp.exec(str:String):Object
在str中执行匹配搜索,没有匹配返回null.否则否则返回一个包含以下具有以下属性的对象:
一个数组:索引0是完全匹配的子串,接下来是与正则中的组匹配的子串。
index:匹配的子串在原字符串中的索引。
input:原串str.
3.String.search(pattern:*):int
返回与pattern匹配的第一个子串的索引。
4.String.match(pattern:*):Array
返回与pattern匹配的所有子串。仅当pattern是正则且设置了g时才可能返回多个匹配项,否则返回仅包含第一个匹配项。
5.String.replace(pattern*,repl:Object):String
相对于字符串匹配的pattern返回一个新串。
repl可以是一个函数,此时replace会按序传以下参数:
匹配的串
匹配组的串
匹配串的索引
完整原串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值