正则表达式是AS3比较重要的一个部分,具体内容如下:
//正则表达式有四个部分。1元子符。2元序列。3标志。4数量表达符。
//下面是元字符部分 //现在我们来看看元字符: ^ $ . * + ? ( ) [ ] { } |
//^匹配字符串的开头 var pattern:RegExp=/^小虫/; var str:String="小虫是好人"; trace(str," is valid:",pattern.test(str));
//$匹配字符串的结尾 var pattern1:RegExp=/lizhen$/; var str1:String="My name is lizhen"; trace(str1,pattern1.test(str1));
//^ 和 $同时使用则是精确匹配,也就是说字符串str2必须等于pattern2的内容。 var pattern2:RegExp=/^lizhen$/; var str2:String="lizhen"; trace(str2,pattern2.test(str2));
//下面两个例子都说明了转义 var pattern3:RegExp = /1/2/; var str3:String="1/2是多少?"; trace(str3,pattern.test(str3));
var pattern4:RegExp=/"lizhen"/; var str4:String="My name is "lizhen""; trace(str4,pattern4.test(str4));
/; var str5:String = "我的"; trace(str5,pattern5.test(str5));
//+的用法:匹配至少一个前面的字符 //注意+和*的区别。如果var str:String="我的"那就会显示false,【后半句显示TRUE。不明白,有看到的同学给个答复,多谢啦】 var pattern6:RegExp=/我的+/; //var str6:String="我的ID是..."; var str6:String="我的我的我的"; trace(str6,pattern6.test(str6));
//?的用法:匹配0个或1个前面的字符 var pattern7:RegExp=/天?/; var str7:String="一天快乐"; //var str:String="天天快乐"; trace(str7,pattern7.test(str7));
var pattern8:RegExp=/快乐./; //var str8:String="一天快乐"; var str8:String="天天快乐"; trace(str8,pattern8.test(str8));
//.的用法:匹配任意单个字符
var pattern9:RegExp=/[a-z]/ var str9:String="A" trace(str9,pattern9.test(str9));
//[ ]的用法:匹配某一个范围而不局限于具体的单个字符
var pattern10:RegExp=/([a-z][A-Z][0-9])+/ //比如说这个就是定义了一个四个字符的字符串第一个字符是a到z之间的字符第二个是A到Z之间的字符第三个是0-9之间的字符,第四个重复前面的数字。 var str10:String="aD77aaaaaaaaaaaaaaaa" trace(str10,pattern10.test(str10));
//( )的用法:这个就相当于是个集合。
var pattern11:RegExp=/小虫|lizhen/ var str11:String="lizhen是好人" trace(str11,pattern11.test(str11)); //|的用法:匹配左边或者右边的字符。
//下面的内容是元序列 //元序列是在正则表达式模式中具有特殊含义的字符序列{n} {n,} {n,m} b B d D f n r s S t unnnn v w w W xnn
var pattern12:RegExp=/(小虫){2}/ //对象中连续出现2次小虫.注意下(),如果用var pattern:RegExp=/小虫{2}/ 那么就是var str:String="小虫虫" var str12:String="小虫小虫小虫" trace(str12,pattern12.test(str12)) //{n}的用法:匹配恰好n个(n为非负整数)前面的字符
//{n,}的用法:匹配恰好n个(n为非负整数)或更多个前面的字符。
//b的用法:匹配单词字符和非单词字符之间的位置只能放在开头和结尾。NN的,他不支持中文.用中文还是用^.
var pattern13:RegExp=/b小虫/ var pattern14:RegExp=/.mp3b/ var str13:String="小虫.mp3";//可以判断是否是mp3格式。 trace(str13,pattern14.test(str13));
//B的用法:匹配对象必须位于目标字符串的开头和结尾两个边界之内,即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾和b相反。 var pattern15:RegExp=/B是/ var str15:String="我是虫子" trace(str15,pattern15.test(str15));
//d的用法:用于匹配从0到9的数字 var pattern16:RegExp=/bd/ //开头的第一字符必须为数字 var str16:String="900/元" trace(str16,pattern16.test(str16));
//D的用法:匹配除数字以外的任何字符
var pattern17:RegExp=/bD/ //开头的第一字符必须不为数字 var str17:String="a900/元" trace(str17,pattern17.test(str17));
//f的用法:匹配换页符DOS操作时代的概念
//n的用法:匹配换行符 var pattern18:RegExp=/n/ var str18:String="欢迎来到虫子n的空间!" trace(str18,pattern18.test(str18));
//r的用法:匹配回车符 var pattern19:RegExp=/r/; var str19:String = "欢迎来到r虫子空间"; trace(str19,pattern19.test(str19));
//s的用法:匹配任何空白字符(空格、制表符、换行符或回车符) var pattern20:RegExp = /s/; var str20:String = "欢迎来到虫子的 空间!"; trace(str20,pattern20.test(str20));
//S的用法:匹配除空白字符以外的任何字符 var pattern21:RegExp = /S/; var str21:String = "欢饮来到虫子空间!"; trace(str21,pattern21.test(str21));
//t的用法:匹配制表符DOS操作时代的概念
//unnnn用法:匹配字符代码由十六进制数字 nnnn 指定的 Unicode 字符。例如,u263a 是一个笑脸字符 var pattern22:RegExp=/u263a/ var str22:String="欢迎来到虫子的空间!u263a" trace(str22,pattern22.test(str22));
//v 用法:匹配垂直换页符DOS操作时代的概念
//w用法:匹配单词字符(A-Z、a-z、0-9 或 _)。请注意,w不匹配非英文字符,如é、? 或 ?。他和[]是有区别的。 var pattern23:RegExp=/^w/ var str23:String="a虫子" var str23a:String="0虫子" var str23b:String="A虫子" var str23c:String="_虫子" trace(str23,pattern23.test(str23));
//W用法:匹配除单词字符以外的任何字符。 var pattern24:RegExp = /^W/; var str24:String = "虫子"; trace(str24,pattern24.test(str24));
//xnn用法:匹配具有指定 ASCII 值(由十六进制数字 nn 定义)的字符。 var pattern25:RegExp=/^x41/;"A" var str25:String="ABCD"; trace(str25,pattern25.test(str25));
//标志:标志可以作为正则表达式对象属性进行访问。正则表达式有五个标志:g i m s x
//g的用法:如果不指定g,那么在查找的时候只会返回一个。 var pattern26:RegExp= /shw*/; var str26:String = "she sells seashells by the seashore."; trace(str26.match(pattern26)); //指定g后 var str27:String = "she sells seashells by the seashore."; var pattern27:RegExp = /shw*/g; trace(str27.match(pattern27))
//i的用法:默认情况下,正则表达式匹配区分大小写。如果设置 i (ignoreCase) 标志,将忽略区分大小写。 var str28:String = "She sells seaShells by the seaShore."; var pattern28:RegExp = /shw*/gi; trace(str28.match(pattern28))
//m的用法:匹配"行"的开头和结尾.注意这里的行只有 n 字符表示行的结束,其余的都不行。包括r. var str29:String = "She sells seaShells by the seaShore.n"; str29+="She's your mother" //trace(str29); var pattern29:RegExp = /^shw*/gim trace(str29.match(pattern29));
//s的用法:用点来匹配换行符 var str30:String = "<p>Testn"; str30 += "Multiline</p>"; //trace(str30) var re:RegExp = /<p>.*?</p>/s; trace(str30.match(re));
//x的用法:在正则表达式中使用 x (extended) 标志时,则会忽略在模式中键入的所有空格。 var str31:String = "lizhenfenxifenxi"; var re31:RegExp = /li zhen fen xi fen xi/x trace(str31.match(re31)); (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|