99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

JavaScript 正則表達式

2018-09-28 18:06 更新

正則表達式

正則表達式是一個對象,這個對象描述一種字符模式。

JavaScript RegExp 類代表正則表達式,字符串和 RegExp 都定義了方法,在方法中使用正則表達式來執(zhí)行文本中強大的模式匹配和搜索替換功能。

語法

正則表達式可以被 RegExp() 構(gòu)造函數(shù)定義,如下所示:

    var pattern = new RegExp(pattern, attributes);   
    or simply   
    var patter = /pattern/attributes;

參數(shù)描述:

  • pattern:是一個字符串,指定了正則表達式的模式或其他正則表達式。
  • attributes:是一個可選的字符串,包含屬性 "g"、"i" 和 "m",分別用于指定全局匹配、區(qū)分大小寫的匹配和多行匹配。

方括號

方括號 ([]) 用于正則表達式的上下文中時有特殊意義,用來查找一系列字符。

表達描述
[...]查找方括號之間的任何字符
[^...]查找任何不在方括號之間的字符
[0-9]查找任何從 0 至 9 的數(shù)字
[a-z]查找任何小寫 a 到小寫 z 的字符
[A-Z]查找任何大寫 A 到大寫 Z 的字符
[a-Z]查找任何小寫 a 到大寫 Z 的字符

上面所示的范圍為一般情況;還可以使用范圍 (0-3) 匹配任何從 0 到 3 的十進制數(shù)字,或范圍 (b-v) 來匹配任何從小寫 b 到小寫 v 的字符。

量詞

方括號括起來的字符序列或單個字符出現(xiàn)的頻率或位置可以用一個特殊的符號來表示。每個特殊字符都有一個特定的含義。+、*、? 和 $ 符號都遵循一個字符序列模式。

表達描述
p+匹配任何包含至少一個 p 的字符串
p*匹配任何包含零個或多個 p 的字符串
p?匹配任何包含零個或一個 p 的字符串
p{N}匹配包含 N 個 p 的序列字符串
p{2,3}匹配包含 2 或 3 個 p 的序列的字符串
p{2,}匹配包含至少 2 個 p 的序列的字符串
p$匹配任何結(jié)尾為 p 的字符串
^p匹配任何開頭為 p 的字符串

例子

下面的例子會幫助理清字符匹配的概念。

表達描述
[^a-zA-Z]匹配任何不包含從 a 到 z 和從 A 到 Z 中任何字符的字符串
p.p匹配任何以一個 p 開始、其次是任意字符、緊隨其后的是另一個 p 的字符串
^.{2}$匹配任何包含兩個字符的字符串
<b>(.*)</b>匹配任何封閉在 <b> 和 </b> 內(nèi)的字符串
p(hp)*匹配任何包含一個 p、緊隨其后的零個或多個 hp 序列的字符串

原義字符

字符描述
Alphanumeric它自己
\0查找 NUL 字符(\u0000)
\t查找制表符(\u0009)
\n查找換行符(\u000A)
\v查找垂直制表符(\u000B)
\f查找換頁符(\u000C)
\r查找回車符(\u000D)
\xnn指定的以十六進制數(shù) nn 表示的拉丁字符;例如 \x0A 和 \n 表示的一樣
\uxxxx查找以十六進制數(shù) xxxx 規(guī)定的 Unicode 字符,例如 \u0009 和 \t 表示的一樣
\cX控制字符 ^X;例如 \cJ 相當(dāng)于換行符 \n

元字符

元字符:在一個字母字符之前加上一個反斜杠,使這個組合具有特殊的含義。

例如,您可以使用 '\d' 元字符搜索大量資金數(shù)額:/([\d]+)000/,這里 \d 將尋找任何數(shù)值字符的字符串。

下面是元字符的列表,使用 PERL 風(fēng)格的正則表達式表達。

字符描述
.單個字符
\s空白字符(空格、制表符、換行符)
\S非空白字符
\d數(shù)字字符(0-9)
\D非數(shù)字字符
\w單詞字符(a-z,A-Z,0-9,_)
\W非單詞字符
[\b]一個文字退格(特殊情況)
[aeiou]匹配一個在給定集合內(nèi)的字符
[^aeiou]匹配一個不在給定集合內(nèi)的字符
[foo|bar|baz]匹配任何指定的備選方案

修飾

幾個可用的 regexp 修飾符,它能使你的工作更容易,比如大小寫敏感、搜索多個行等。

字符描述
i執(zhí)行對大小寫不敏感的匹配
m執(zhí)行多行匹配
g執(zhí)行全局匹配(查找所有匹配而非在找到第一個匹配后停止)

RegExp屬性

這是 RegExp 的各個屬性及對應(yīng)的屬性描述的列表。

屬性描述
constructor指定創(chuàng)建一個對象原型的函數(shù)
globalRegExp 對象是否具有標(biāo)志 g
ignoreCaseRegExp 對象是否具有標(biāo)志 i
lastIndex一個整數(shù),標(biāo)示開始下一次匹配的字符位置
multilineRegExp 對象是否具有標(biāo)志 m
source正則表達式的源文本

RegExp方法

這是 RegExp 的各個方法及對應(yīng)的屬性描述的列表。

方法描述
exec()檢索字符串中指定的值。返回找到的值,并確定其位置
test()檢索字符串中指定的值。返回 ture 或 false
toSource返回一個對象字面值代表指定的對象;您可以使用這個值來創(chuàng)建一個新的對象。
toString()返回一個代表指定對象的字符串。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號