文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

AS3中Flex正则表达式怎么用

2023-06-17 14:58

关注

这篇文章给大家分享的是有关AS3中Flex正则表达式怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

AS3中的Flex正则表达式

一、定义方式,可以有两种

varpattern1:RegExp=newRegExp("test-\\d","i");
varpattern2:RegExp=/test-\d/i;

1)使用new来新建一个RegExp对象,其中参数为1)表达式字符串2)表达式的参数,这种方式如果要用\,一定要用\\来转义。
2)直接采用/形式,以把表达式的内容写到/……./里面,在后面跟上表达式的参数,参数字符可以同时添加多个,例如:/………/gi

二、Flex正则表达式参数介绍

1)Dotall属性,用s字符表示参数,指定字符(.)在表达式里是不是匹配新行,如果使用了s参数,那就表示dotall表示真
例:

varstr:String="<p>Hello\n" +"again</p>"  +"<p>Hello</p>";  varpattern:RegExp=/<p>.*?<\/p>/;  trace(pattern.dotall)//false  trace(pattern.exec(str));//<p>Hello</p> pattern=/<p>.*?<\/p>/s;  trace(pattern.dotall)//true  trace(pattern.exec(str));

2)Extended属性,用x参数表示,指是否在表达式定义的时候是否忽略空格
例:

varrePhonePattern1:RegExp=/\d{3}-\d{3}-\d{4}|\(\d{3}\)\s?\d{3}-\d{4}/;  varstr:String="Thephonenumberis(415)555-1212.";   trace(rePhonePattern1.extended)//false  trace(rePhonePattern1.exec(str));//(415)555-1212   varrePhonePattern2:RegExp=/\d{3}-\d{3}-\d{4}|\(\d{3}\)\?\d{3}-\d{4}/x;  trace(rePhonePattern2.extended)//true  trace(rePhonePattern2.exec(str));//

(415)555-12123)global属性,用g参数表示,指是否用表达式在匹配以后在下次匹配的时候是从头再来还是从上次匹配过的地方开始,其lastIndex属性会保存起来。
例:

varpattern:RegExp=/foo\d/;  varstr:String="foo1foo2";  trace(pattern.global);//false  trace(pattern.exec(str));//foo1  trace(pattern.lastIndex);//0  trace(pattern.exec(str));//foo1   pattern=/foo\d/g;  trace(pattern.global);//true  trace(pattern.exec(str));//foo1  trace(pattern.lastIndex);//4  trace(pattern.exec(str));//foo2

4)ignoreCase属性,用i参数表示,指表达式匹配的时候是否区别大小写。

例:

varpattern:RegExp=/bob/;  varstr:String="Bobbob";  trace(pattern.ignoreCase);//false  trace(pattern.exec(str));//bob   pattern=/bob/i;  trace(pattern.ignoreCase);//true  trace(pattern.exec(str));//Bob

5)lastIndex属性,指定下次查询的起始位置,这个属性影响两个方法exec()和test(),match(),replace(),search()方法是忽略这个属性的,他们总是从头开始的。

这个属性要和global结合使用,当global为true时,执行exec()和test()后,lastIndex属性会被设置为下一个字符,如果是false,则会从头开始。
例:

6)multiline属性,用m参数表示,指表达式匹配的时候用字符(^)和($)分别表示在之前或之后有新的一行。

例:

varpattern:RegExp=/^bob/;  varstr:String="foo\n" +"bob";  trace(pattern.multiline);//false  trace(pattern.exec(str));//null   pattern=/^bob/m;  trace(pattern.multiline);//true  trace(pattern.exec(str));//bob

7)source属性,返回表达式的定义字符串。
例:

varre1:RegExp=/aabb/gi;  trace(re1.source);//aabb   varre2:RegExp=newRegExp("x+y*","i");  trace(re2.source);//x+y*

三、Flex正则表达式方法介绍

1)Exec()方法:

i.输入:传入一个String类型的参数,表示要查询的字符串。
ii.返回:如果没有匹配到就返回null,否则返回一个Object对象。
这个Object对象的属性:
a)一个Array(数组),元素0包含一个匹配得到的子串,1到n包含,其中定义的组所匹配的字符子串
b)Index匹配子串在字符串里的位置
c)Input输入的原始字符串。
例:

varmyPattern:RegExp=/(\w*)sh(\w*)/ig;  varstr:String="Shesellsseashellsbytheseashore";  varresult:Object=myPattern.exec(str);  trace(result);

输出:
result[0]是”she”
result[1]是一个空串(***个\w是匹配到空的子串)
result[2]是”e”
result.index是0
result.input是”Shesellsseashellsbytheseashore”
设置了g(global)属性的例子:

varmyPattern:RegExp=/(\w*)sh(\w*)/ig;  varstr:String="Shesellsseashellsbytheseashore";  varresult:Object=myPattern.exec(str);  while(result!=null){  trace(result.index,"\t",result);  result=myPattern.exec(str);  }

输出:
0She,,e
10seashells,sea,ells
27seashore,sea,ore

2)Test()方法:

i.输入:传入一个String类型的参数,表示要查询的字符串。
ii.返回:如果匹配返回true,否则返回false.
例:

varmyPattern:RegExp=/(\w*)sh(\w*)/ig;  varstr:String="Shesellsseashellsbytheseashore";  varresult:Object=myPattern.exec(str);  trace(result);

感谢各位的阅读!关于“AS3中Flex正则表达式怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯