[AS3]轻松搞定AS3字符串正则表达式[完美解析]
一、String.match(pattern:*);//将指定的 pattern
与字符串匹配,pattern可以是正则表达式或者字符串,如果是字符串就直接匹配。
下面是它文档中的说明:
参数
pattern:* — 要匹配的模式,可以为任何类型的对象,但通常是字符串或正则表达式。 如果 pattern 不是正则表达式或字符串,则该方法在执行前会将其转换为字符串。 |
返回
Array — 一个字符串数组,其中包括与指定的 pattern 匹配的字符串中的所有子字符串。
如果
如果未找到匹配项,该方法返回 例子: //下面讨论的是flash正则表达式规则和功能 //var trace(/ var str2:Array=str.match(/雷龙/g); trace(str2.length); trace(str2); //1 //例子2,用'i'这个参数,'i'这个参数表示不区分大小写 //i= HUMN String.replace(); 下面是他们文档中的说明: 相对于字符串匹配指定的 在下面的示例中,仅替换“sh”(区分大小写)的第一个实例: var myPattern:RegExp = /sh/; var str:String = "She sells seashells by the seashore."; trace(str.replace(myPattern, "sch")); // She sells seaschells by the seashore. 在下面的示例中,替换“sh”(区分大小写)的所有实例,这是因为在正则表达式中设置了 var myPattern:RegExp = /sh/g; var str:String = "She sells seashells by the seashore."; trace(str.replace(myPattern, "sch")); // She sells seaschells by the seaschore. 在下面的示例中,替换“sh”的所有实例,这是因为在正则表达式中设置了 var myPattern:RegExp = /sh/gi; var str:String = "She sells seashells by the seashore."; trace(str.replace(myPattern, "sch")); // sche sells seaschells by the seaschore.
参数
返回
例子: /* 中的数据,之后就用Object来替换。也就是说把RegEx的内容用Object来替换 //运行前:She sells seaschells by the seaschore. String.seach(pattern:*);
AS3 function search(pattern:*):int
搜索指定的 参数
返回
|
例子:
/*
String.search(正则表达式:字符串);//返回第一个匹配子字符串的索引
String.split(正则表达式:字符串);//将String字符串进行拆分,由里面的参数位置来拆分,
但不包括里面的参数。
*/
var ss:String="here is my home,she is my wife.";
trace("运行后="+ss.search(/my/g));//返回第一个与'my'匹配的ss索引
//运行后=8
String.split(delimiter:*, limit:Number = 0x7fffffff):Array;
将 String 对象拆分为一个子字符串数组,方法是在所有出现指定 delimiter
参数的位置进行拆分。
如果 delimiter
参数是正则表达式,即使向后跟踪可以找到与该位置匹配的非空子字符串,也仅考虑字符串给定位置处的第一个匹配项。 例如:
var str:String = "ab"; var results:Array = str.split(/a*?/); // results == ["","b"] results = str.split(/a*/); // results == ["","b"].)
如果 delimiter
参数是包含分组圆括号的正则表达式,则每次匹配 delimiter
时,会将分组圆括号的结果(包括任何未定义的结果)连接到输出数组中。 例如
var str:String = "Thi5 is a tricky-66 example."; var re:RegExp = /(\d+)/; var results:Array = str.split(re); // results == ["Thi","5"," is a tricky-","66"," example."]
如果指定 limit
参数,返回的数组中具有的元素数将不多于指定数目。
如果 delimiter
是空字符串、空正则表达式或者可以匹配空字符串的正则表达式,则字符串中的每一个字符都将输出为数组中的一个元素。
如果未定义 delimiter
参数,则会将整个字符串放入返回的数组的第一个元素中。
参数
delimiter:* — 指定拆分此字符串的位置的模式。 此模式可以是任何类型的对象,但通常为字符串或正则表达式。 如果delimiter 不是正则表达式或字符串,则该方法在执行前会将其转换为字符串。 |
|
limit:Number (default = 0x7fffffff ) — 要放入数组中的最大项数。 默认为允许的最大值。 |
返回
Array — 一个子字符串的数组 |
例子:
String.split(正则表达式:字符串);//将String字符串进行拆分,由里面的参数位置来拆分,
但不包括里面的参数。
*/
var ss:String="here is my home,she is my wife.";
trace("运行后="+ss.search(/my/g));//返回第一个与'my'匹配的ss索引
trace(ss.split(/is/g,2));
//运行后=8
//here , my home,she //split,拆分,例如有一句话:你是那个谁是不是。假如从'谁'这个字来拆分,得:你是那个,是不是。
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例