1. 程式人生 > >JavaScript正則表達式三

JavaScript正則表達式三

javascript正則表達式三

正則表達式對象的方法:

test用於測試字符串參數中是否存在匹配正則表達式模式的字符串,如果存在返回true,不存在返回false

exec使用正則表達式模式對字符串執行搜索,並將更新全局RegExp對象的屬性以反映匹配結果。

如果沒有匹配的文本則返回null,否則返回一個結果數組:

index聲明匹配文本的第一個字符的位置。

input存放被檢索的字符串string

exec的非全局表達式:

調用非全局的RegExp對象的exec()時,返回數組。

第一個元素是與正則表達式相匹配的文本

第二個元素是與RegExpObject的第一個子表達式相匹配的文本(如果有的話)

第三個元素是與RegExp對象的第二個子表達式相匹配的文本(如果有的話),以此類推

對象屬性:

global:是否全文搜索,默認false

ignore case:是否大小寫敏感,默認是false

multiline:多行搜索,默認值是false

lastIndex:是當前表達式匹配內容的最後一個字符的下一個位置

source:正則表達式的文本字符串

字符串對象的方法:

search()方法用於檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串方法返回第一個匹配結果index,查找不到返回-1

search()方法不執行全局匹配,它將忽略標誌g,並且總是從字符串的開始進行檢索

match()方法將檢索字符串,以找到一個或多個與regexp匹配的文本

regexp是否具有標誌g對結果影響很大

regexp的非全局調用:

如果regexp沒有標誌g,那麽match()方法就只能在字符串中執行一次匹配

如果沒有找打匹配的文本,將返回null

否則它將返回一個數組,其中存放了它找到的匹配文本有關的信息

返回數組的第一個元素存放的是匹配文本,而其余的元素存放的是與正則表達式的子表達式匹配的文本

除了常規的數組元素之外,將返回的數組還含有2個對象屬性:

index聲明匹配文本的起始字符在字符串的位置

input聲明對stringObject的引用

regexp的全局調用:

如果regexp具有標誌g,則match()方法將執行全局檢索,找到字符串中的所有匹配的子字符串

沒有找到任何匹配的子串,則返回null

如果找到一個或多個匹配子串,則返回一個數組

數組元素中存放的是字符串中所有的匹配子串,而且也沒有index屬性或input屬性

split把字符串分割為字符數組,在一些復雜的情況下可以使用正則表達式解決

function參數的含義:

function會在每次匹配替換的時候調用,有四個參數:

匹配字符串

正則表達式分組內容,沒有分組則沒有該參數

匹配項在字符串中的index

原字符串

replace的用法:

String.prototype.replace(str,replaceStr)

String.prototype.replace(reg,replaceStr)

String.prototype.replace(reg,function)

JavaScript正則表達式三