Flex程序设计(1)正则表达式

1.基本语法
 . 匹配除换行符"\n"外的任意单个字符。
 * 匹配前面Flex正则表达式的零次或多次出现。
eg:Alert.show("ThisBookIsGoodBoooookBoxBx.".replace(/Bo*/g,"Coo")) 
                     ThisCookIsGoodCookCooxCoox

+  匹配前面Flex正则表达式的一次或多次出现。
eg:Alert.show("ThisBookIsGoodBoooookBoxBx.".replace(/Bo+/g,"Coo"))
                      ThisCookIsGoodCookCooxBx

?  代表出现在它之前的项目有或没有均可。
eg:Alert.show("ThisBookisGoodBook".replace(/G?oo/g,"Coo"));
                       ThisBCookisCoodBCook.

{} 根据括号内的不同而不同。单个数字{n}意味着前面的模式重复n次,如:[A-Z]{3};{n1,n2}表示重复n1-n2次;{名字}指示用名字替换。
eg:{n}在它之前出现的项目必须重复n次,{n,}在它之前出现的项目至少重复n次,{n,m}在它出现之前的项目重复n次到m次
Alert.show("ThisBookidgoodBoooooookBok".replace(/Bo{3,}k/g,"_"));
                  ThisBookidgood_Bok
    
() 将一系列Flex正则表达式归组。"*"、"+"和"{}"中的每个都直接作用于它左侧的表达式,而"|"通常影响左侧表达式和右侧的所有内容。
eg:把字符串组成一个组,要求A后面可以出现0次或者多次字串Go的重复
Alert.show(AGoGoIsAnameAGo'Sfather".replace(/A(Go)*/g,"_"));
                  _Is_name_'sfather

[] 匹配括号中字符的任意一个。用"-"指示字符的范围。如果第一个字符是抑扬符号"^",那么它的含义变为匹配括号内字符以外援任意字符,及表反义。
eg1:Alert.show("我的Book价格是45元".replace(/[^0-9a-z]/g,"*"));
                          ***ook***45*
eg2:Alert.show(AGoGoIsAonameAGo'Sfather".replace(/A[Go]/g,"_"));
_                       oGoIs_name_o'sfather

\ 如果后面是小写字母,就是C转义序列,否则引用后面的字符。

"..." 匹配引号内的内容

/ 只有当有后面的表达式跟随时才匹配前面的表达式.

^ Flex正则表达式的第一个字符,它匹配行的开始;在方括号中用于否定,其它方面没有特殊情况
Alert.show("ABAEF\nABSD\nABFFD".replace(/^AB/gm,"你好"));
        你好AEF
       你好SD
       你好FFD

$  Flex正则表达式的最后一个字符,它匹配行的结尾-其他方面没有特殊情况。

<> 位于模式开头的尖括号内的一个或一列使那个模式只应用于指定的起始状态。

<<EOF>> 在flex中,这个特殊的模式<<EOF>>匹配文件的结尾。

\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之前至少有isprecededbyatleastnm个获取得子表达式,则nm为后向引用。如果\nm之前至少有n个获取,
    则n为一个后跟文字m的后向引用。如果前面的条件都不满足,若n和m均为八进制数字(0-7),则\nm将匹配八进制转义值nm。

 

2.语法延伸
^\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*)?$ 
^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$//匹配ip 

匹配url匹配中文字符的Flex正则表达式:[\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的Flex正则表达式:\n[\s|]*\r
匹配HTML标记的Flex正则表达式:/<(.*)>.*<\/>|<(.*)\/>/
匹配首尾空格的Flex正则表达式:(^\s*)|(\s*$)
匹配Email地址的Flex正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的Flex正则表达式:^[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]*$ 

作者:Orson 
出处:http://www.cnblogs.com/java-class/ 
如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】 
如果,您希望更容易地发现我的新博客,不妨点击一下左下角的【关注我】 
如果,您对我的博客内容感兴趣,请继续关注我的后续博客,我是【Orson】 

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段 声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 

转载:http://www.cnblogs.com/java-class/p/4170269.html

时间: 2024-08-31 00:58:36

Flex程序设计(1)正则表达式的相关文章

基于Cairngorm MVC框架的Flex程序设计与开发

简介:随着富互联网应用程序 (Rich Internet Application) 的发展,Flex 也得到了迅速的发展, 然后随着 Flex 应用的项目的增大,传统的 Flex 开发已经显得层次不清,维护困难,在这样背景下, 基于 Flex 的 MVC 框架 Cairngorm 应运而生.本文将介绍系统的讲解 Cairngorm,通过本教程的学习 ,您可以全面掌握使用 Cairngorm 框架进行 Web 开发. Cairngorm 框架简介 Cairngorm 是一种 MVC 框架,它可以帮

使用Flex结合Webservice完成域名查询

web 有没有想过,用标记语言就能生成flash用户界面?(比如树形菜单.Grid等等).Flex远远超乎您的想象,现在有很多站用flash来制作,但是几乎没有什么站能做到与用户交互,或者采用比较生硬的方式完成交互功能.因此,Flash大多用于设计艺术性的站点,这类站点的交互要求不高.页面改动频率也不大. 您应该想过,如果能用Flash完成企业站点的制作.用Flash制作论坛,那该是多么美好啊... Macromedia在今年年初推出了Flex,他的使命是本着完成人们这一梦想. 她的原理就是把设

Flex中TextInput组件设置限制某些字符的输入的方法_Flex

1. 限制某个字符的输入,用符号 ^ 跟上要限制的字符,可跟多个字符 <!-- 限制字符"~"的输入 --> <mx:TextInput id="xxx" restrict="^~" /> <!-- 限制字符"ab"的输入 --> <mx:TextInput id="xxx" restrict="^ab" /> 2. 设置只能输入某些字符,

《编译原理实践与指导教程》——1.2 实验指导

1.2 实验指导 词法分析和语法分析这两块,可以说是在整个编译器当中被自动化得最好的部分.也就是说即使没有任何的理论基础,在掌握了工具的用法之后,也可以在短时间内做出功能很全很棒的词法分析程序和语法分析程序.当然这并不意味着,词法分析和语法分析部分的理论基础并不重要.恰恰相反,这一部分被认为是计算机理论在工程实践中最成功的应用之一,对它的介绍也是编译理论课中的重点.但本节指导内容的重点不在于理论而在于工具的使用. 本节指导内容将分别介绍词法分析工具GNU Flex和语法分析工具GNU Bison

《Python 3程序开发指南(第2版•修订版)》——7.5 总结

7.5 总结 本章展示了用于从文件中加载组合型数据(或将组合型数据保存到文件中)的使用最广泛的技术.我们了解了pickles的易用性,以及如何在预先并不知道是否已进行压缩的前提下来处理压缩文件与未压缩文件. 我们了解了在读.写二进制数据时应该注意哪些事项,也知道如果需要处理可变长度的字符串,代码就会很长.同时我们也获知,使用二进制文件通常会产生最小的文件大小,所需要的读.写时间也最少.我们还学习了使用魔数来标识文件类型.使用版本号使程序可以适应后面格式变化的重要性. 本章中,我们知道,对用户而言

使用Flex编写的ActionScript正则表达式测试工具

为了在开发过程中,测试正则表达式更方便,用Flex编写了下面的正则表达 式测试工具,也大家分享,欢迎提出改进意见 在独立的窗口中查看:http://my.jhost.cn/iihe602_2/flex/sdk3/RegexTester.html 现在样例 比较少,今后将逐渐增加 1 <?xml version="1.0" encoding="utf-8"?> 2 <mx:Application xmlns:mx="http://www.a

javascript高级程序设计(第三版)学习笔记(一) 正则表达式整理

1.创建正则表达式 第一种方式:注意这里的正则表达式不能使用单引号或者双引号,如下 var pattern1 = /[abc]/i; // 匹配第一个"a"或"b"或"c",不区分大小写 第二种方式:使用RegExp构造函数创建,该构造函数传入两个参数,都是字符串,所以需要特别注意"\"符号的转换,所有元字符(下面有讲元字符)需要双重转义,如下 复制代码 代码如下: var patt1 = new RegExp("[

Flex正则表达式判断中文或全角字符代码

Flex中一文本框,其值的length取出的是字符个数,并不是字节长度,如果含有中文或者全角字符,一个字符是2个字节. 计算其字符长度, ActionScript代码 复制代码 代码如下: for(var i:int=0;i<newStr.length;i++){ var char:String = newStr.substr(i,1); if(/[^x00-xff]/g.test(char)){ //中文加10 screenLength = screenLength + 10; }else{

JavaScript高级程序设计(第3版)学习笔记12 js正则表达式_基础知识

需要指出的是,这里只是总结了正则表达式的常用的且比较简单的语法,而不是全部语法,在我看来,掌握了这些常用语法,已经足够应对日常应用了.正则表达式不只是应用在ECMAScript中,在JAVA..Net.Unix等也有相应应用,这篇文章则是以ECMAScript中的正则表达式为基础总结的. 一.正则表达式基础 1.普通字符:字母.数字.下划线.汉字以及所有没有特殊意义的字符,如ABC123.在匹配时,匹配与之相同的字符. 2.特殊字符:(需要时,使用反斜杠"\"进行转义) 字符 含义 字