`

一些常用的正则表达式-actionscript

阅读更多

转自:http://hi.baidu.com/hereson/blog/item/3c2809d681e7d12b06088b25.html

 

正则表达式是一种通用的标准,大部分计算机语言都支持正则表达式,包括as3,这里转摘出了一些常用的正则表达式语句,大家用到的时候就不用自己写了 

^\d+$  //匹配非负整数(正整数 + 0) 
^[0-9]*[1-9][0-9]*$  //匹配正整数 
^((-\d+)|(0+))$  //匹配非正整数(负整数 + 0) 
^-[0-9]*[1-9][0-9]*$  //匹配负整数 
^-?\d+$    //匹配整数 
^\d+(\.\d+)?$  //匹配非负浮点数(正浮点数 + 0) 
^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$  //匹配正浮点数 
^((-\d+(\.\d+)?)|(0+(\.0+)?))$  //匹配非正浮点数(负浮点数 + 0) 
^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //匹配负浮点数 
^(-?\d+)(\.\d+)?$  //匹配浮点数 
^[A-Za-z]+$  //匹配由26个英文字母组成的字符串 
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串 
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串 
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串 
^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串 
^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$    //匹配email地址 
^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$  //匹配url 

匹配中文字符的正则表达式: [\u4e00-\u9fa5] 
匹配双字节字符(包括汉字在内):[^\x00-\xff] 
匹配空行的正则表达式:\n[\s| ]*\r 
匹配HTML标记的正则表达式:/<(.*)>.*<\/>|<(.*) \/>/ 
匹配首尾空格的正则表达式:(^\s*)|(\s*$) 
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 
匹配网址URL的正则表达式:^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$ 
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 
匹配国内电话号码:(\d{3}-|\d{4}-)?(\d{8}|\d{7})? 
匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$ 
下表是元字符及其在正则表达式上下文中的行为的一个完整列表: 
\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。 
^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的Multiline 属性,^ 也匹配 ’\n’ 或 ’\r’ 之后的位置。 
$ 匹配输入字符串的结束位置。如果设置了 RegExp 对象的Multiline 属性,$ 也匹配 ’\n’ 或 ’\r’ 之前的位置。 
* 匹配前面的子表达式零次或多次。 
+ 匹配前面的子表达式一次或多次。+ 等价于 {1,}。 
? 匹配前面的子表达式零次或一次。? 等价于 {0,1}。 
{n} n 是一个非负整数,匹配确定的n 次。 
{n,} n 是一个非负整数,至少匹配n 次。 
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。在逗号和两个数之间不能有空格。 
? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。 
. 匹配除 "\n" 之外的任何单个字符。要匹配包括 ’\n’ 在内的任何字符,请使用象 ’[.\n]’ 的模式。 
(pattern) 匹配pattern 并获取这一匹配。 
(?:pattern) 匹配pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。 
(?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。 
(?!pattern) 负向预查,与(?=pattern)作用相反 
x|y 匹配 x 或 y。 
[xyz] 字符集合。 
[^xyz] 负值字符集合。 
[a-z] 字符范围,匹配指定范围内的任意字符。 
[^a-z] 负值字符范围,匹配任何不在指定范围内的任意字符。 
\b 匹配一个单词边界,也就是指单词和空格间的位置。 
\B 匹配非单词边界。 
\cx 匹配由x指明的控制字符。 
\d 匹配一个数字字符。等价于 [0-9]。 
\D 匹配一个非数字字符。等价于 [^0-9]。 
\f 匹配一个换页符。等价于 \x0c 和 \cL。 
\n 匹配一个换行符。等价于 \x0a 和 \cJ。 
\r 匹配一个回车符。等价于 \x0d 和 \cM。 
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。 
\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。 
\t 匹配一个制表符。等价于 \x09 和 \cI。 
\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。 
\w 匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]’。 
\W 匹配任何非单词字符。等价于 ’[^A-Za-z0-9_]’。 
\xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。 
\num 匹配 num,其中num是一个正整数。对所获取的匹配的引用。 
\n 标识一个八进制转义值或一个后向引用。如果 \n 之前至少 n 个获取的子表达式,则 n 为后向引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。 
\nm 标识一个八进制转义值或一个后向引用。如果 \nm 之前至少有is preceded by at least nm 个获取得子表达式,则 nm 为后向引用。如果 \nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的后向引用。如果前面的条件都不满足,若 n 和 m 均为八进制数字 (0-7),则 \nm 将匹配八进制转义值 nm。 
\nml 如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八

 

 

 

 

 

转自:http://hi.baidu.com/xinmime/blog/item/ca9d8057c2babccfb645ae3a.html

 

================================================
第14章 强大的正则表达式:RegExp
================================================
14.2.2 正则表达式的两个构成部分
简写模式:
var 正则对象:RegExp = /匹配模式/标志位
构造函数模式:
var 正则对象:RegExp = new RegExp(匹配模式,标志位)

匹配模式就是正则表达式,标志位包括五个字母 gimsx

14.3 正则表达式语法
14.3.1 正则表达式中的文字符号
普通文字和符号:A-Z a-z 0-9 以及不是元字符的其它符号
输入Unicode字符时,同String一样,使用\uXXXX

元字符:三三二三个一(记忆口诀)
三个括号: {[(
三个匹配次数: *+? 星加问
两个断言: ^$ 定头定尾
三个一: | 选择符 . 模糊匹配 \ 转义

三个括号:
{定义匹配次数
[字符集
(子模式

三个匹配次数:
* 匹配出现0次或多次
+ 匹配出现至少1次或多次
? 匹配出现0次最多1次

两个断言:
^ 在/后出现时为左端断言, /^
$ 在/前出现时为右端断言, $/

三个独立元字符:
| 选择符,匹配时兼容匹配选择符两边的字符
. 模糊匹配,可以代替

不可见字符:比较一些转义的控制字符

14.3.2 正则表达式中的字符集
1.字符集的概念和最简单的字符集形式
[字符集]

字符集用中括号括起来
Unicode字符请使用\uXXXX 四位十六进制Unicode代码输入
如:/g[eo]t,分别匹配get和got,但不会匹配geot,因为字符集只能匹配一个字符

2.连字符在字符集中的运用
[字符-字符]
如:[a-z][A-Z],就是匹配英文字母字符集了


3.取反符号在字符集中的运用
[^字符集]
添加取反符号后,匹配时将忽略字符集中的所有元素

4.字符集中需要转义的特殊字符
\转义符号
常见要转义的字符有三类:
1.字符串: 双引号" 单引号 ' 反斜杠 \
2.正则表达式的源字符
3.字符集中的: [\^-

尽可能将会产生歧义的字符转义


14.3.3 特殊的点号(.)
.号可以替代任意单个字符,作为正则表达式中的模糊匹配字符

1.点号不匹配新行符(\n)
多行字符的模糊匹配中,.号不能匹配\n换行符,要匹配换行符,必须在标志位中使用s

2.尽量少使用点号“.”
只在明确不会模糊匹配时出错的情况下才用.模糊匹配,点号匹配所有的Unicode字符。


14.3.4 选择符
| 对选择符两边的元素作任意匹配。
使用|选择符时,尽可能使用括号将两边的操作数括起来,以方便区别。

14.3.5 括号与分组
() 圆括号将表达式的一部分括起来,就会将这部分定交成组,一旦命名了组,就可以通过“向后引用”来调用它。
它所括起的部分一般用于:
1.和选择符搭配,规定作用于选择符的范围,如/he(got|get)it/
2.和限定符搭配使用,指定匹配的重复次数,如/(get)*/


14.3.6 用正则表达式描述字符串的重复
使用{}定义匹配的重复次数,跟在要重复的表达式或字符后面
{最小出现次数[,最多出现次数]}
还有常用的三个 非显式限定符

*+? 星加问

* 出现0次或多次    等同 {0,}
+ 出现1次或多次    等同 {1,}
? 出现0次或最多1次 等同 {0,1}


14.3.7 注意正则表达式的贪婪性和懒惰性
使用*+?{}的时候,正则表达式总是尽可能向右搜寻尽可能多的匹配结果,如果想禁止此贪婪性,可在操作符后加上 ?,迫使程序运行时使用懒惰模式,优先使用左边匹配的第一个结果。


14.3.8 用正则表达式来定位
断言:指定匹配发生的位置
^ 匹配字符串起始的位置,一般跟在起始/后,组合成 /^
$ 匹配字符串结尾的位置,一般跟在结束/前,组合成$/
\b 匹配字符边界
\B 匹配非字符边界

字符边界指空格的位置,可跟在要匹配的表达式左边或右边


14.3.9 正则表达式的5个标志位。
g   global 全局匹配,尽可能匹配全部结果
i   ignoreCase 不区分大小写匹配
m   multiline 断言控制符,使用后 ^$两个断言符才能生效
s   dotall 匹配换行符标志
x   extended 令正则表达式支持空格,但编译时会自动忽略,增加可视的友好度


14.3.10 正则表达式元字符优先级
优先级顺序从高到低排列

\    转义符
(),(?:),(?=),[]   分级定义符号,字符集定义符号
*,+,?,{n},{n,},{n,m} 限定符
^,$,\位置定义   位置和顺序
|    选择符

 


14.4 正则表达式与字符串的结合使用详解
14.4.1 RegExp的exec()和test()
test方法
var RegExp对象:RegExp = /正则表达式/ 或 new RegExp(正则式,标志位)
var String对象:String = 字符;
RegExp对象.test(String对象)

RegExp对象.exec(正则表达式):Array
exec返回一个匹配后的数组


14.4.3 String类的replace()与正则表达式向后引用
()使用子表达式括起的表达式,可以在后边引用 ,使用\n n为索引 从1至99
/\b([a-z]+) \1\b/gi 其中的\1就是引用前面第一个([a-z])
可在处理函数中用 $n 来引用子模式

分享到:
评论

相关推荐

    Actionscript_3_正则表达式的使用

    在AS3.0中得正则表达式的使用规则和例子,欢迎下载

    Actionscript3正则表达式的使用.pdf

    Actionscript3正则表达式的使用.pdf

    AS正则表达式小工具

    AS3 的正则表达式工具,目前仅支持简单的匹配验证

    php javascript perl actionscript 的正则表达式

    一个网页设计师必备的工具 你有了吗? 这是我深藏硬盘的宝物哦

    正则表达式语法

    Actionscript的正则表达式语法,一页涵盖基本语法,保留备用

    ActionScript 3.0 编程(PDF)

    ActionScript 3.0 编程(PDF) ActionScript 语言及其语法、面向对象编程、使用正则表达式、处理日期时间、字符串、数组、事件、XML等等 (PDF)格式

    Flash ActionScript 3.0学习指南

    全书内容包括ActionScript 3.0 语言介绍、ActionScript3.0基本语法、事件机制、面向对象、数组、正则表达式、XML应用、常用的内置类、基本组件、数据列表组件、 DataGrid组件、文本处理、绘图、几何结构、音频、视频...

    ACTIONSCRIPT3.0 编程PDF文档

    第9 章: 使用正则表达式 第10 章: 处理事件 第11 章: 处理 XML 第12 章: 显示编程 第13 章: 处理几何结构 第14 章: 使用绘图 API 第15 章: 过滤显示对象 第16 章: 处理影片剪辑 第17 章: 处理文本 第18 章: 处理位图...

    ActionScript开发人员指南中文版

    对字符串使用正则表达式的方法 正则表达式示例:Wiki解析程序 第章:使用XML XML基础知识 用于处理XML的EX方法 XML对象 XMLList对象 初始化XML变量 组合和变换XML对象 遍历XML结构 使用XML命名空间 XML类型转换 读取...

    ActionScript开发技术大全

    14.3.1正则表达式的标记与属性 310 14.3.2正则表达式的方法 314 14.4小结 315 第5篇ActionScript3.0图形编程 第15章ActionScript3.0中的几何对象 318 15.1Point对象 318 15.1.1创建Point对象 318 15.1.2距离计算 319...

    parse-it:Emacs Lisp中的基本解析器

    这是一个正则表达式基础分析器。 该项目的目标是生成用于定位编程语言的AST。 支持的语言 动作actionscript - actionscript 汇编语言asm Ç - c C ++- c++ C# csharp CSS- css Emacs Lisp- elisp 去- go ...

    Flash actionscript3 AS3通用类库开源工具库GhostCat.zip

    Flash actionscript3 AS3通用类库开源工具库GhostCat.zip ASDoc生成 SWC拆分 SWF打包 SWF浏览(就是SWF反编译器,看资源用) 测试代码 代码统计 多国语言版 色彩工具 生成PAK 生成字体 ...正则表达式工具

    idl代码与Matlab-RegexHighlightView:RegexHighlightView

    我想完全基于正则表达式( regex , regexp )创建一个简单,易于使用和可扩展的荧光笔。 现有项目旨在涵盖特定的突出显示或目的。 我想创建一个可用于任何目的的通用类。 该类使用CoreText框架和NSAttributedString...

    as3.0编程手册.pdf

    9.使用正则表达式 10.处理事件 11.处理 XML 12.显示编程 13.处理几何结构 14.使用绘图 API 15.过滤显示对象 16.处理影片剪辑 17.处理文本 18.处理位图 19.处理视频 20.处理声音 21.捕获用户输入 22.网络与通信 23....

    后端研发-Notepad++-高兼容的代码编辑及查看工具

    它支持多种编程语言,并具有语法高亮显示、语法折叠、自动完成、宏录制、正则表达式搜索替换等功能。 Notepad++ 还提供了分屏编辑、书签、括号匹配等实用工具,使用户更加高效地编辑文本文件。此外,它还支持插件...

    flex3的cookbook书籍完整版dpf(包含目录)

    如何通过指定字符类(Explicit Character Class)来创建正则表达式 15.11节. 如何在正则表达式中使用字符类型 15.12节. 如何通过子表达式来验证IP 地址是否有效呢? 15.13节. 如何使用正则表达式来为不同类型进行匹配?...

    ActionScript 3.0 开发人员指南 (AS3开发帮助文档)

    第 5 章 : 使用正则表达式 第 6 章 : 使用 XML 第 7 章 : 使用本机 JSON 功能 第 8 章 : 处理事件 第 9 章 : 使用应用程序域 第 10 章 : 显示编程 第 11 章 : 使用几何结构 第 12 章 : 使用绘图 API 第 13 ...

    Flash 反编译工具(JPEXS Free Flash Decompiler) v3.0 中文版.zip

    搜索ActionScript源(文本或正则表达式) 转至文档类( AS3 ) 代理 - 配置您的浏览器使用我们的代理 - 代理嗅探http通讯和搜索SWF文件 - 找到SWF文件可以编辑的地方,然后通过代理再担当 搜寻记忆 - 搜索...

    web设计师速查手册

    JavaScript的方法与函数,正则表达式 XMLHttpRequest对象.pdf JavaScript库MooTools 1.2 速查手册.pdf JavaScript库Prototype 1.6.0.2 速查手册.pdf jQuery 1.3 速查表.pdf PHP4参考速查手册.pdf PHP 参考手册.pdf ...

    PatternPro Regular Expression Engine-开源

    PatternPro是一个正则表达式引擎,设计上是面向对象的,具有VB6,C#,JavaScript和ActionScript的实现。

Global site tag (gtag.js) - Google Analytics