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

目录
相关文章
|
Java 测试技术 API
JavaSE 面向对象程序设计 正则表达式
JavaSE 面向对象程序设计 正则表达式
93 0
Python 内置正则表达式库re的使用
正则表达式是记录文本规则的代码,用于查找和处理符合特定规则的字符串。在Python中,常通过原生字符串`r&#39;string&#39;`表示。使用`re.compile()`创建正则对象,便于多次使用。匹配字符串有`match()`(从开头匹配)、`search()`(搜索首个匹配)和`findall()`(找所有匹配)。替换字符串用`sub()`,分割字符串则用`split()`。
|
数据库 Python
Python网络数据抓取(8):正则表达式
Python网络数据抓取(8):正则表达式
|
自然语言处理 JavaScript 前端开发
Python高级语法与正则表达式(二)
正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。
|
安全 算法 Python
Python高级语法与正则表达式(一)
Python提供了 with 语句的写法,既简单又安全。 文件操作的时候使用with语句可以自动调用关闭文件操作,即使出现异常也会自动关闭文件操作。
Python使用正则表达式分割字符串
在Python中,你可以使用re模块的split()函数来根据正则表达式分割字符串。这个函数的工作原理类似于Python内置的str.split()方法,但它允许你使用正则表达式作为分隔符。
Python中re模块的正则表达式
【6月更文挑战第2天】了解Python的re模块,它是处理正则表达式的核心工具。正则表达式用于在文本中查找特定模式。本文讨论了re模块的用法和技巧,包括导入模块、匹配、分组、替换文本、编译正则表达式以及使用预定义字符类、量词、锚点等高级功能。通过实例展示了如何在Python中执行这些操作,帮助提升文本处理能力。掌握这些技巧将使你更有效地利用正则表达式解决字符串处理问题。
|
数据安全/隐私保护 Python
Python进阶---正则表达式
Python进阶---正则表达式
83 2
|
数据采集 Python
python中的正则表达式,Python实习面试经验汇总
python中的正则表达式,Python实习面试经验汇总