原生JavaScript---正則表達式

JavaScript 中正則的性能比想象中的低不少。能用字符串方法搞定的,儘可能別用正則。------玉伯
javascript

拋開性能不談,一塊兒來看看正則表達式怎麼用吧!html

先看看JavaScript正則表達式中一些特殊字符的含義:java

 

字符 含義
^ 匹配以某些字符開頭的字符串
$ 匹配以某些字符結尾的字符串
? 匹配出現0次或1次的字符或字符串
* 匹配出現0次或n次的字符或字符串
+ 匹配出現1次或n次的字符或字符串
{n} 精確匹配出現n次的字符或字符串
{n,} 匹配出現>=n次的字符或字符串
{n,m} 匹配出現 >=n次  and  <=m次 的字符或字符串
. 匹配除了換行符外的字符
[...] 匹配括號裏的任意字符
[^...] 匹配除了括號裏的字符外的任意字符
\b 匹配一個單詞的邊界
\B 匹配一個單詞的非邊界
\d 匹配數字0-9
\D 匹配任何非數字的字符
\w 匹配 a-z  A-Z  0-9  _ 
\W 匹配 非字母、非數字、非下劃線
\n 匹配換行符
\s 匹配空格符
\S 匹配非空格符
\t 匹配Tab

 

 

 

字符 含義
g 全局匹配
m 多行匹配
i 忽略大小寫

 

 

1.看是否匹配 test()正則表達式

若是匹配返回true  不匹配則返回false數組

示例:性能

 

//<![CDATA[
var str="PrimitiveJavaScript is my JavaScript Special column.";
var pattern1=/Java/;
document.write(pattern1.test(str));
document.write("<br/>");
var pattern2=/java/;
document.write(pattern2.test(str));
//--><!]]>


結果:spa

 


2.返回匹配的值 exec().net

示例:code

 

//<![CDATA[
var str="PrimitiveJavaScript is my JavaScript Special column.";
var pattern=/JavaScript/;
document.write(pattern.exec(str));
//--><!]]>


結果:htm

 

JavaScript

3.返回匹配的數組 match()

示例:

 

//<![CDATA[
var str="PrimitiveJavaScript is my JavaScript Special column.";
var pattern=/JavaScript/g;  //全局匹配
var result=str.match(pattern);
document.write(result[0]);
document.write("<br/>");
document.write(result[1]);
//--><!]]>


結果:

 


掌握這三個方法,再加上字符串的知識,就能夠處理各類各樣的問題啦。

仍是要多加練習,融會貫通。

 

就寫到這了。

 

個人新浪微博:X--zhang

專欄地址:原生JavaScript

歡迎吐槽,歡迎拍磚!

文 / X--zhang

相關文章
相關標籤/搜索