用户操作
[即时聊天] [发私信] [加为好友]
爱你网ID:goody9807
149914次访问,排名553,好友243人,关注者0人。
http://www.cnblogs.com/goody9807
http://www.51ini.com
goody9807的文章
原创 93 篇
翻译 0 篇
转载 139 篇
评论 90 篇
爱你网的公告








一个不错的P2P软件,里面肯定有你要的资源

我的爱你网,讨论.Net


最近评论
Kaelzhang:您好,今天无意路过这里,发现阁下转载了本站的日志。可能你是从其他的地方转载的,也有可能是从本站转载的。

但是不论是哪一种情况,请加上本站原文的有效链接,http://yottaworks.net/general/142/
或者
http://www.kael.com.cn

感谢您的支持,遵守Creative Commons,互相……
xiaojiit:能不能支态变宽呢?
z392989029:美女,你也学编程吗。
这个东西我还是不会用
z392989029:美女,你也学编程吗。
这个东西我还是不会用
hhshang:楼主你做过这个打字程序,如果做了,可不可以发一份给我学习一下呀,我的邮箱是:zeng_xianchun@126.com
文章分类
收藏
相册
Csdn专用
个人专用
XML相关资料
XML Server与XML-enabled Web Server介绍
xmlhttp发送 xml 例子详解
在Asp.net里显示XML格式内容.
树的资料
asp.net中的treeview 怎么用
数据库连接
CSDN数据库连接大全
DSN方式连接数据库
杂类
100分问一个突然出现的Cookie问题,关于添加/删除Cookie的。
c#存取图片 (RSS)
我的主页(RSS)
高效.TEXTBLOG技巧终结篇
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

转载 精通Javascript动态网页编程 收藏

新一篇: JavaScript--正则表达式  | 旧一篇: Stream 和 byte[] 之间的转换

8.10  定位符与原义字符

在验证时,要用到一些定位符,来限定字符出现的位置,以方便匹配。同时,对于表达式中的元字符,必须进行转义,使其变成原义字符才能正常显示。本节介绍这两种应用。

8.10.1  用于文本验证的定位符

定位符用于规定匹配模式在目标字符串中的出现位置。例如,只能出现在开头或结尾处,这对文本格式的验证非常有用。在正则表达式中,有以下几个定位符。

1.用 ^ 匹配目标字符串的开始位置

匹配必须发生在目标字符串的开头处,^必须出现在表达式的最前面才具有定位符作用。例如,“^o”与“ok”中的o匹配,但与“hello”中的o不匹配。如果设置了RegExp对象实例的Multiline属性,^还会与行首匹配,即与“"n”、“"r”之后的位置匹配。代码8.11演示了该字符的使用。

代码8.11  行首匹配字符^:8.11.htm

<html>

<head><title>行首匹配字符^</title></head>

<body>

   <h1>行首匹配字符^</h1>

   <script language="JavaScript">

   <!--

      var reg_expression = /^zt/;  //使用行首元字符

      var textString=prompt("请输入要检查的字符串:","");

      var result=reg_expression.test(textString);  //匹配时返回true,否则false

      document.write("<font size='+1'><b>"+result+"<br>");

      if(result){

          document.write("<b>正则表达式/^zt/匹配字符串"""+ textString +""".<br>");

      }

      else{

          alert("未找到匹配!");

      }

   // -->

   </script>

</body>

</html>

运行该段代码,会弹出一个对话框,要求用户输入一个字符串。如果输入zt129837op2ueop(如图8.12所示),并单击“确定”按钮,在浏览器窗口中会显示匹配成功的相关内容,如图8.13所示。

   

       图8.12  输入字符串zt129837op2ueop                       图8.13  显示匹配成功

2.用 $ 匹配目标字符串的结尾位置

匹配必须发生在目标字符串的结尾处,$必须出现在表达式的最后面才具有定位符作用。例如,“o$”与“hello”中的o匹配,但与“ok”中的o不匹配。如果设置了RegExp对象实例的mutiline属性,$还会与行尾匹配,即与“"n”、“"r”之前的位置匹配。代码8.12演示了该字符的使用。

代码8.12  行尾匹配字符$:8.12.htm

<html>

<head>

<title>行尾匹配字符$</title>

</head>

<body>

   <h1>行尾匹配字符$</h1>

   <script language="JavaScript">

   <!--

      var reg_expression = /zt$/;

      var textString=prompt("请输入要检查的字符串:","");

      var result=reg_expression.test(textString);  //匹配时返回true,否则false

      document.write("<font size='+1'><b>"+result+"<br>");

      if(result){

          document.write("<b>正则表达式/zt$/匹配字符串"""+ textString +""".<br>");

      }

      else{

          alert("未找到匹配!");

   }

   // -->

   </script>

</body>

</html>

运行该段代码,会弹出一个对话框,要求用户输入一个字符串。如果输入qweriqupoiasdzt(如图8.14所示),并单击“确定”按钮,在浏览器窗口中会显示匹配成功的相关内容,如图8.15所示。

  

        图8.14  输入字符串qweriqupoiasdzt                      图8.15  显示匹配成功

3.用 "b 匹配一个字边界

"b包含了字与空格间的位置,以及目标字符串的开始和结束位置等。例如,“er"b”匹配“never ok”中的“er”,但不匹配“verb”中的“er”。代码8.13演示了该字符的使用。

代码8.13  行尾匹配字符$:8.13.htm

<html><head><title>使用元字符"b</title>

</head>

<body>

<h1>使用元字符"b</h1>

<script language="JavaScript">

<!--

    var reg_expression = /"bman"b/;

    var textString=prompt("请输入要检查的字符串:","");

    var result=reg_expression.test(textString);  //匹配时返回true,否则false

    document.write("<font size='+1'><b>"+result+"<br>");

    if(result){

        document.write("<b>正则表达式 /""bman""b/匹配字符串"""+ textString +""".<br>");

    }

    else{

        alert("未找到匹配!");

    }

// -->

</script>

</body>

</html>

运行该段代码,会弹出一个对话框,要求用户输入一个字符串。如果输入“man woman”(如图8.16所示),并单击“确定”按钮,在浏览器窗口中会显示匹配成功的相关内容,如图8.17所示。

 

          图8.16  输入字符串“man woman”                    图8.17  显示匹配成功

4.用 "B 匹配非字边界

例如,“er"B”匹配“verb”中的“er”,但不匹配“never”中的“er”。

8.10.2  对特殊字符进行转义

在表达式中用到的一些元字符不再表示原来的字面意义,如果要匹配这些有特殊意义的元字符,必须使用“"”将这些字符转义为原义字符。需要进行转义的字符有“$”、“(”、“)”、“*”、“+”、“.”、“[”、“]”、“?”、“"”、“/”、“^”、“{”、“}”、“|”。

*     “"”的作用是将下一字符标记为特殊字符、原义字符、反向引用或八进制转义符,所以,要匹配字面意义的“"”,需要使用“""”表示。

*     创建RegExp对象实例的一种方式是将表达式嵌套在一对“/”中,所以,在表达式模式中,要表示字面意义的“/”也要用“"/”进行转义。

发表于 @ 2008年07月01日 14:20:54|评论(loading...)|编辑|收藏

新一篇: JavaScript--正则表达式  | 旧一篇: Stream 和 byte[] 之间的转换

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 爱你网