flash游戏吧 关注:9,464贴子:41,604
  • 4回复贴,共1

【技术】转贴:AS3.0 正则表达式规则 - 9RIA天地会

只看楼主收藏回复

这篇文章细致的介绍了AS3.0中正则表达式的规则及用法.

AS3.0 正则表达式规则 - 9RIA天地会

来自:news.9ria.com



IP属地:河南1楼2013-11-28 02:12回复
    原文中有一些错漏的地方,等我修改之后再发上来!


    IP属地:河南2楼2013-11-28 02:33
    回复
      终于改完了,所有的\符号全部缺失,一些表达式跟描述不匹配。以下是正文:
      //=====================================================================
      谈谈正则表达式,AS3.0中引进了正则表达式。正则表达式是用于验证文本值是否符合特定模式。
      正则表达式有四个部分。1元字符。2元序列。3标志。4数量表达符。
      可以这样看 pattern RegExp= /匹配字符串元字符元序列/标志当然顺序可能不完全是这样.别把他想的太复杂其实他就是个组合。
      现在我们来看看元字符: ^ \ $ . * + ? ( ) [ ] { } |
      前面说的是转义字符串的使用
      元子符
      1.^的用法:匹配字符串的开头
      var pattern:RegExp=/^小虫/;
      var str:String="小虫是好人";
      trace(str, " is valid:", pattern.test(str));小虫是好人 is valid: true
      2.$的用法:匹配字符串的结尾
      var pattern:RegExp=/lizhen$/;
      var str:String="My name is lizhen";
      trace(str, " is valid:", pattern.test(str));小虫是好人 is valid: true
      仔细看一下两个符号在匹配字符串中的位置,注意:如果同时使用^符号和$符号,将进行精确匹配。
      3.\的用法:如果式中有用到元字符之类的特殊时,前面加”\”可以取消元字符之类的特殊意义。
      如果匹配字符串中包含有"/"比如 1/2 的时候,使用如下定义
      var pattern:RegExp = /1\/2/;
      var str:String="1/2是多少?";
      trace(str, " is valid:", pattern.test(str));1/2是多少? is valid: true
      如果匹配字符串中包含有"比如 "lizhen" 的时候,使用如下定义
      var pattern:RegExp=/\"lizhen\"/;
      var str:String="My name is "lizhen"";
      trace(str, " is valid:", pattern.test(str));My name is "lizhen" is valid: true
      4.*的用法:匹配0个或多个前面的字符.
      下面例子中*匹配的是"的"字,意思为"我"后面跟0个或多个"的"字
      var pattern:RegExp=/我的*/;
      var str:String="我的";//或者"我","我的的"都可以
      trace(str, " is valid:", pattern.test(str));我的我的... is valid: true
      5.+的用法:匹配至少一个前面的字符
      var pattern:RegExp=/我的+/;
      var str:String="我的ID是...";//或者"我的","我"在这里就不行了,至少得有一个"的"
      trace(str, " is valid:", pattern.test(str));我的ID是... is valid: true
      注意+和*的区别:*是几个都行,包括0(就是一次都没有),+意为至少一个。
      6.?的用法:匹配0个或1个前面的字符,
      var pattern:RegExp=/这是只?猫/;//表示"只"可有可无
      var str:String="这是猫";//或者"这是只猫"
      trace(str, " is valid:", pattern.test(str));一天快乐 is valid: true
      7..的用法:匹配任意单个字符
      var pattern:RegExp=/啊./;
      var str:String="啊好";//或者"啊%","啊Y"等等,啊后面随便跟个字符或符号都可以
      trace(str, " is valid:", pattern.test(str));啊好 is valid: true
      8.[ ]的用法:匹配某一个范围而不局限于具体的单个字符。意思就是说[]整体代表一个字符,字符限制为[]里面的内容
      var pattern:RegExp=/[a-z]/
      var str:String="a";//如果不是a-z的内容就匹配不到了
      trace(str, " is valid:", pattern.test(str));a is valid: true
      9.( )的用法:这个就相当于是个集合。
      var pattern:RegExp=/(abc)+/ //至少连续包含一组"abc"的字符串。
      var str:String="abcabcdddd";//或:"abcabcabcdddd"
      trace("在字符串中检索出的是:", pattern.exec(str)[0]);//结果为abcabc是符合要求的字符串
      10.|的用法:匹配左边或者右边的字符。
      var pattern:RegExp=/a[b|B]c/
      var str:String="abc";//或者"aBc"
      trace(str, " is valid:", pattern.test(str));abc is valid: true


      IP属地:河南3楼2013-11-28 04:05
      回复
        已收藏,好贴!!!


        IP属地:江苏8楼2013-12-04 01:16
        回复
          太帮了 好东西!!!!


          IP属地:上海9楼2015-07-08 17:23
          回复