ActionScript中的正则表达式
来源:互联网 发布:c语言整型变量 编辑:程序博客网 时间:2024/06/09 20:23
简介
正则表达式描述字符模式,通常用于验证文本值是否符合特定模式(例如验证电话号码位数是否正确),或者替换与特定模式匹配的部分文本值。
用途
- 创建正则表达式模式
- 在模式中使用特殊字符
- 标识多个字符的序列(如“介于7到10个字母之间”)
- 标识字母或数字范围中的任何字母(如“a到m的任何字母”)
- 标识可能的字符集中的字符
- 标识子序列(模式内的片段)
- 基于模式匹配和替换文件
概念和术语
- 元字符(Metacharacter):在正则表达式模式中具有特殊含义的字符,它与从字面意义上在模式中表达该字符相对。
- 转义字符(Escape character):此字符指示应将后面的字符视为元字符,而不是字面字符。
- 标志(Flag):此字符指定有关应如何使用正则表达式模式的一些选项,如是否区分大小写。
- 数量表示符(Quantifier):一个或几个字符,指示应将模式部分重复多少次。例如,使用数量标识符来指定美国邮编应包含5个或9个数字。
- 正则表达式(Regular expression):用于定义字符模式的程序语句,它可用来确认其他字符串是否与该模式匹配,或者替换字符串的一部分。
创建正则表达式实例
- 有两种方法可以创建正则表达式实例。一种是使用正斜杠字符(/)来界定正则表达式,另一种是使用new构造函数。
var pattern1:RegExp = /bob/i;var pattern2:regExp = new RegExp("bob","i");
- 以上两个正则表达式是等效的。
- 正斜杠内的正则表达式部分定义“模式”。正则表达式还可以在后一个界定斜杠后包含“标志”。这些标志也看作是正则表达式的一部分,但是他们独立于模式。
- 使用new构造函数时,使用两个字符串来定义正则表达式。第一个字符串定义模式,第二个字符串定义标志。
- 如果正则表达式里包含正斜杠或引号,则必须在正斜杠前加上转义字符:
// 1/2var pattern3:RegExp = /1\/2/;// eat at "joe's"var pattern4:RegExp = new RegExp("eat at \"joe's\"","");var pattern5:RegExp = new RegExp("eat at "joe\'s"',"");
- 请勿在正斜杠界定符定义的正则表达式中对引号使用反斜杠转义字符。同样地,不要在使用new构造函数定义的正则表达式中对正斜杠使用转义字符。下面的正则表达式是等效的,他们定义了模式1/2 “joe’s”:
var pattern1:RegExp = /1\/2 "joe's"/;var pattern2:RegExp = new RegExp("1/2 \"joe's\"","");var pattern3:RegExp = new RegExp('1/2 "joe\'s"','');
- 在使用new构造函数定义的正则表达式中,要使用以反斜杠字符开头的元序列时,需要输入两个反斜杠字符。
字符、元字符和元序列
- 下列字符(称为元字符)在正则表达式中具有特殊含义:
^ $ \ . * + ? ( ) [ ] { } | - 元序列和元字符类似,在正则表达式中具有特殊含义。元序列由多个字符组成。
元字符
关于元序列
元序列时在正则表达式模式中具有特殊含义的字符序列。
字符类中字符的范围
- 使用连字符指定字符的范围,例如A-Z、a-z或0-9.
- 还可以使用\xnn ASCII字符代码通过ASCII值指定范围。
例如: /[/x90-/x9A]/
反转的字符类
- 如果在字符类的开头使用尖号(^)字符,则将反转该集合的意义,即未列出的任何字符都认为匹配。
- 必须在字符类的“开头”键入尖号字符来表示反转,否则,只是将尖号字符添加到字符类的字符中。
数量表示符
使用数量表示符指定字符或序列在模式中的重复次数。
可以将数量标识符应用到单个字符、字符类或组:
- /a+/ 匹配重复一次或多次的字符a;
- /\d+/ 匹配一个或多个数字;
- /[abc]+/ 匹配重复的一个或多个字符,这些字符可能是a,b或c中的某个;
- /(very, )*/ 匹配重复零次或多次的后跟逗号和空格的单词very;
默认情况下,正则表达式执行所谓的“无限匹配”。正则表达式中的任何子模式(如 .*)都会尝试在字符串中匹配尽可能多的字符。然后再执行正则表达式的下一部分。
标志和属性
下列的五种标志都可以作为正则表达式对象属性进行访问:
阅读全文
0 0
- ActionScript中的正则表达式
- ActionScript使用正则表达式
- ActionScript使用正则表达式
- C#中的正则表达式
- 正则表达式中的"?"
- C#中的正则表达式
- javascript中的正则表达式
- JavaScript中的正则表达式
- C#中的正则表达式
- 字符串中的正则表达式
- Unix中的正则表达式
- C#中的正则表达式
- .NET 中的正则表达式
- c#中的正则表达式
- C#中的正则表达式
- C#中的正则表达式
- Js中的正则表达式
- C# 中的正则表达式
- Unity Shader 学习笔记(2)Shader、ShaderLab、Cg/HLSL/GLSL
- Java方法的可变参数个数
- 【技术分享】利用 Python 打造反向 TCP 后门
- 正则表达式 Regular Express
- C语言结构体
- ActionScript中的正则表达式
- 你还有用360清理你的电脑垃圾吗?别用了,这样只会越来越卡!
- hdu1215 七夕节
- 长草很久了
- Pycharm运行测试脚本时,不执行if __name__=="__main__"
- 2017.11.9笔记
- docker向私有仓库push或者pull
- 常用对象String
- 大数据平台Linux基础环境配置