好多语言都支持正则表达式,当然据说Perl语言是支持的最好的语言,无奈我没怎么学过。我在日常工作中遇到过C语言对正则表达式的支持,JS PHP 也遇到过。本文主要讲述JS对正则表达式的支持。
JS 通过RegExp类型来支持正则表达式。
1 格式一:
var expression = /pattern/ flags;
如下面的代码段:
- var pattern=/dat/i
搜索dat,flag为i表示不区分大小写,即Dat,DAT,dAT,这些都是匹配的。
var expression = new RegExp(pattern,flags);
如 :
- var pattern = new RegExp("dat",'i');
和格式一中的示例效果是一样的。
正则表达式中支持下面三个标志位
g:全局模式,即模式应用于整个字符串,而不是找到第一个匹配项就停止。
m:表示多行,即到达一行文本末尾时还会继续查找下一行是否存在匹配项。
i:不区分大小写。
点击(此处)折叠或打开
- <html>
- <head>
- <title>RegExp Constructor Properties Example</title>
- <script type="text/javascript">
-
- var text = "the book is about DaTabase";
- var pattern = /dat/i;
- if (pattern.test(text)){
- alert("found");
- }
- </script>
- </head>
- <body>
- </body>
- </html>
点击(此处)折叠或打开
- <html>
- <head>
- <title>RegExp Constructor Properties Example</title>
- <script type="text/javascript">
-
- var text = "the book is about DaTabase";
- var pattern = new RegExp("dat","i");
- if (pattern.test(text)){
- alert("found");
- }
- </script>
- </head>
- <body>
- </body>
- </html>
当然了,我这个只是个例子,比较简单的描述JS对正则表达式的支持。要想获取复杂的功能,就要构造相应的pattern,利用pattern来检测时候存在匹配项。至于正则表达式部分我本身也不是很精通,而且不是本文的concern,所以我就不写了。
参考文献:
1 Javascript 高级程序设计
2 正则表达式 百度百科