js正則

簡介
修飾符

修飾符用於執行區分大小寫和全局匹配:javascript

修飾符html

描述java

igit

執行對大小寫不敏感的匹配。web

g正則表達式

執行全局匹配(查找全部匹配而非在找到第一個匹配後中止)。express

m數組

執行多行匹配。函數

方括號

方括號用於查找某個範圍內的字符:grunt

表達式

描述

[abc]

查找方括號之間的任何字符。

[^abc]

查找任何不在方括號之間的字符。

[0-9]

查找任何從 0 至 9 的數字。

[a-z]

查找任何從小寫 a 到小寫 z 的字符。

[A-Z]

查找任何從大寫 A 到大寫 Z 的字符。

[A-z]

查找任何從大寫 A 到小寫 z 的字符。

[adgk]

查找給定集合內的任何字符。

[^adgk]

查找給定集合外的任何字符。

(red|blue|green)

查找任何指定的選項。

元字符

元字符(Metacharacter)是擁有特殊含義的字符:

元字符

描述

.

查找單個字符,除了換行和行結束符。

\w

查找單詞字符。

\W

查找非單詞字符。

\d

查找數字。

\D

查找非數字字符。

\s

查找空白字符。

\S

查找非空白字符。

\b

匹配單詞邊界。

\B

匹配非單詞邊界。

\0

查找 NULL 字符。

\n

查找換行符。

\f

查找換頁符。

\r

查找回車符。

\t

查找製表符。

\v

查找垂直製表符。

\xxx

查找以八進制數 xxx 規定的字符。

\xdd

查找以十六進制數 dd 規定的字符。

\uxxxx

查找以十六進制數 xxxx 規定的 Unicode 字符。

量詞

量詞

描述

n+

匹配任何包含至少一個 n 的字符串。

例如,/a+/ 匹配 "candy" 中的 "a","caaaaaaandy" 中全部的 "a"。

n*

匹配任何包含零個或多個 n 的字符串。

例如,/bo*/ 匹配 "A ghost booooed" 中的 "boooo","A bird warbled" 中的 "b",可是不匹配 "A goat grunted"。

n?

匹配任何包含零個或一個 n 的字符串。

例如,/e?le?/ 匹配 "angel" 中的 "el","angle" 中的 "le"。

n{X}

匹配包含 X 個 n 的序列的字符串。

例如,/a{2}/ 不匹配 "candy," 中的 "a",可是匹配 "caandy," 中的兩個 "a",且匹配 "caaandy." 中的前兩個 "a"。

n{X,}

X 是一個正整數。前面的模式 n 連續出現至少 X 次時匹配。

例如,/a{2,}/ 不匹配 "candy" 中的 "a",可是匹配 "caandy" 和 "caaaaaaandy." 中全部的 "a"。

n{X,Y}

X 和 Y 爲正整數。前面的模式 n 連續出現至少 X 次,至多 Y 次時匹配。

例如,/a{1,3}/ 不匹配 "cndy",匹配 "candy," 中的 "a","caandy," 中的兩個 "a",匹配 "caaaaaaandy" 中的前面三個 "a"。注意,當匹配 "caaaaaaandy" 時,即便原始字符串擁有更多的 "a",匹配項也是 "aaa"。

n{X,}

匹配包含至少 X 個 n 的序列的字符串。

n$

匹配任何結尾爲 n 的字符串。

^n

匹配任何開頭爲 n 的字符串。

?=n

匹配任何其後緊接指定字符串 n 的字符串。

?!n

匹配任何其後沒有緊接指定字符串 n 的字符串。

RegExp 對象方法

方法

描述

FF

IE

compile

編譯正則表達式。

1

4

exec

檢索字符串中指定的值。返回找到的值,並肯定其位置。

1

4

test

檢索字符串中指定的值。返回 true 或 false。

1

4

支持正則表達式的 String 對象的方法

方法

描述

FF

IE

search

檢索與正則表達式相匹配的值。返回下標,找不到返回-1

1

4

match

找到一個或多個正則表達式的匹配。返回數組,與g有關,不匹配返回null

1

4

replace

替換與正則表達式匹配的子串。返回替換後的字符串

1

4

split

把字符串分割爲字符串數組。返回數組

   

 

RegExp對象
語法

var patt=new RegExp(pattern,modifiers);

或者更簡單的方式:

var patt=/pattern/modifiers;

  • pattern(模式) 描述了表達式的模式
  • modifiers(修飾符) 用於指定全局匹配、區分大小寫的匹配和多行匹配
    • 修飾符用於執行區分大小寫和全局匹配:

修飾符

描述

i

執行對大小寫不敏感的匹配。

g

執行全局匹配(查找全部匹配而非在找到第一個匹配後中止)。

m

執行多行匹配。

 

注意:當使用構造函數創造正則對象時,須要常規的字符轉義規則(在前面加反斜槓 \)。好比,如下是等價的:

var re = new RegExp("\\w+");
var re = /\w+/;

 

test()方法

test()方法

語法

RegExpObject.test(string)

參數

描述

string

必需。要檢測的字符串。

列子

若是字符串 string 中含有與 RegExpObject 匹配的文本,則返回 true,不然返回 false

var s = new RegExp("bc");

         document.write(s.test("abcdefg"));//true

         document.write(s.test());//false

  document.write("<br>----------------------");

            var s2 = /\d+/;

            document.write(s2.test("abcdef12"));//true

            document.write(s2.test("abcdef"));//false

exec()方法

exec() 方法用於檢索字符串中的正則表達式的匹配。

若是字符串中有匹配的值返回該匹配值,不然返回 null。

語法

RegExpObject.exec(string)

 

var reg3 = new RegExp("b");

            document.write(reg3.exec("abc"));//b

            document.write(/hello/g.exec("hello chenrd"));//hello

            document.write(/hello/g.exec(" chenrd"));//null

compile 方法

把正則表達式編譯爲內部格式,從而執行得更快。

rgExp.compile(pattern, [flags])

參數

rgexp

必選項。正則表達式對象的一個例子。能夠是變量名或文字。

pattern

必選項。字符串表達式,它包含要被編譯的正則表達式模式。

flags

可選項。能夠組合使用,可用的標誌有:

  • g (全局搜索全部存在的 pattern)
  • i (忽略事件)
  • m (多行搜索)

說明

compile 方法把 pattern 轉換爲內部的格式,從而執行得更快。例如,這使得能夠在循環中更有效地使用正則表達式。當重複使用相同的表達式,那麼編譯過的正則表達式使執行加速。然而,若是正則表達式改變了,這種編譯毫無益處。

示例

下面的例子舉例說明了 compile 方法的用法:

function CompileDemo(){
   var rs;
   var s = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp"
只爲大寫字母建立正則表達式。   //
   var r = new RegExp("[A-Z]", "g");
查找匹配。返回全部大寫的字母以逗號隔開   var a1 = s.match(r)              //
只爲小寫字母編譯正則表達式。   //
r.compile(,)  "[a-z]""g";
查找匹配。   var a2 = s.match(r)              //
   return(a1 + "\n" + a2;
}

 

Js中RegExp.$1是什麼意思

RegExp 是javascript中的一個內置對象。爲正則表達式。

RegExp.$1是RegExp的一個屬性,指的是與正則表達式匹配的第一個 子匹配(以括號爲標誌)字符串,以此類推,RegExp.$2,RegExp.$3,..RegExp.$99總共能夠有99個匹配

給你看了例子就知道了

var r= /^(\d{4})-(\d{1,2})-(\d{1,2})$/; //正則表達式 匹配出生日期(簡單匹配)    

r.exec('1985-10-15');

s1=RegExp.$1;

s2=RegExp.$2;

s3=RegExp.$3;

alert(s1+" "+s2+" "+s3)//結果爲1985 10 15

相關文章
相關標籤/搜索