亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > regex > 正文

javascript RegExp 對象屬性與方法和應用

2020-01-20 22:20:31
字體:
來源:轉載
供稿:網友
JavaScript提供了一個RegExp對象來完成有關正則表達式的操作和功能,每一條正則表達式模式對應一個RegExp實例。有兩種方式可以創建RegExp對象的實例。

使用RegExp的顯式構造函數,語法為:new RegExp("pattern"[,"flags"])。
使用RegExp的隱式構造函數,采用純文本格式:/pattern/[flags]。
pattern部分為要使用的正則表達式模式文本,是必須的。在第一種方式中,pattern部分以JavaScript字符串的形式存在,需要使用雙引號或單引號括起來;在第二種方式中,pattern部分嵌套在兩個“/”之間,不能使用引號。
flags部分設置正則表達式的標志信息,是可選項。如果設置flags部分,在第一種方式中,以字符串的形式存在;在第二種方式中,以文本的形式緊接在最后一個“/”字符之后。flags可以是以下標志字符的組合。
g是全局標志。如果設置了這個標志,對某個文本執行搜索和替換操作時,將對文本中所有匹配的部分起作用。如果不設置這個標志,則僅搜索和替換最早匹配的內容。
i是忽略大小寫標志。如果設置了這個標志,進行匹配比較時,將忽略大小寫。
m是多行標志。如果不設置這個標志,那么元字符“^”只與整個被搜索字符串的開始位置相匹配,而元字符“$”只與被搜索字符串的結束位置相匹配。如果設置了這個標志,“^”還可以與被搜索字符串中的“/n”或“/r”之后的位置(即下一行的行首)相匹配,而“$”還可以與被搜索字符串中的“/n”或“/r”之后的位置(即下一行的行尾)相匹配。
代碼8.1是一個創建正則表達式的例子。
代碼8.1 創建正則表達式:8.1.htm

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]

由于JavaScript字符串中的“/”是一個轉義字符,因此,使用顯式構造函數創建RegExp實例對象時,應將原始正則表達式中的“/”用“//”替換。例如,在代碼8.2中的兩條語句是等價的。
代碼8.2 轉義字符中的“/”:8.2.htm

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]

可以看出,兩者結果相同。
由于正則表達式模式文本中的轉義字符也是“/”,如果正則表達式中要匹配原義字符“/”,在正則表達式模式文本中要以“//”來表示,當使用顯式構造函數的方式創建RegExp實例對象的時候,就需要使用“////”來表示原義字符“/”。
var re = new RegExp(////)。
8.4 RegExp對象的屬性
RegExp對象的屬性分為靜態屬性和實例屬性。下面分別進行介紹。
8.4.1 靜態屬性
(1)index屬性。是當前表達式模式首次匹配內容的開始位置,從0開始計數。其初始值為-1,每次成功匹配時,index屬性都會隨之改變。
(2)input屬性。返回當前所作用的字符串,可以簡寫為$_,初始值為空字符串""。
(3)lastIndex屬性。是當前表達式模式首次匹配內容中最后一個字符的下一個位置,從0開始計數,常被作為繼續搜索時的起始位置,初始值為-1,表示從起始位置開始搜索,每次成功匹配時,lastIndex屬性值都會隨之改變。
(4)lastMatch屬性。是當前表達式模式的最后一個匹配字符串,可以簡寫為$&。其初始值為空字符串""。在每次成功匹配時,lastMatch屬性值都會隨之改變。
(5)lastParen屬性。如果表達式模式中有括起來的子匹配,是當前表達式模式中最后的子匹配所匹配到的子字符串,可以簡寫為$+。其初始值為空字符串""。每次成功匹配時,lastParen屬性值都會隨之改變。
(6)leftContext屬性。是當前表達式模式最后一個匹配字符串左邊的所有內容,可以簡寫為$`(其中“'”為鍵盤上“Esc”下邊的反單引號)。初始值為空字符串""。每次成功匹配時,其屬性值都會隨之改變。
(7)rightContext屬性。是當前表達式模式最后一個匹配字符串右邊的所有內容,可以簡寫為$'。初始值為空字符串""。每次成功匹配時,其屬性值都會隨之改變。
(8)$1…$9屬性。這些屬性是只讀的。如果表達式模式中有括起來的子匹配,$1…$9屬性值分別是第1個到第9個子匹配所捕獲到的內容。如果有超過9個以上的子匹配,$1…$9屬性分別對應最后的9個子匹配。在一個表達式模式中,可以指定任意多個帶括號的子匹配,但RegExp對象只能存儲最后的9個子匹配的結果。在RegExp實例對象的一些方法所返回的結果數組中,可以獲得所有圓括號內的子匹配結果。
8.4.2 實例屬性
(1)global屬性。返回創建RegExp對象實例時指定的global標志(g)的狀態。如果創建RegExp對象實例時設置了g標志,該屬性返回True,否則返回False,默認值為False。
(2)ignoreCase屬性。返回創建RegExp對象實例時指定的ignoreCase標志(i)的狀態。如果創建RegExp對象實例時設置了i標志,該屬性返回True,否則返回False,默認值為False。
(3)multiLine屬性。返回創建RegExp對象實例時指定的multiLine標志(m)的狀態。如果創建RegExp對象實例時設置了m標志,該屬性返回True,否則返回False,默認值為False。
(4)source屬性。返回創建RegExp對象實例時指定的表達式文本字符串。
8.5 RegExp對象的方法
RegExp對象的常用方法有test、exec和compile,本節介紹這些方法的功能和用法。最后,對RegExp對象的屬性和方法進行一個綜合舉例。
8.5.1 test方法
語法格式為test(str)。該方法檢查一個字符串中是否存在創建RegExp對象實例時所指定的表達式模式,如果存在就返回True,否則返回False。如果找到匹配項,則會更新RegExp對象中的有關靜態屬性,以反映匹配情況。關于該方法的使用,后面的8.10節中會經常用到,這里不再單獨舉例。
8.5.2 exec方法
語法格式為exec(str)。該方法使用創建RegExp對象實例時所指定的表達式模式對一個字符串進行搜索,并返回一個包含搜索結果的數組。
如果為正則表達式設置了全局標志(g),可以通過多次調用exec和test方法在字符串中進行連續搜索,每次都是從RegExp對象的lastIndex屬性值指定的位置開始搜索字符串。
如果沒有設置全局標志(g),則exec和test方法忽略RegExp對象的lastIndex屬性值,從字符串的起始位置開始搜索。
如果exec方法沒有找到匹配,返回值為null;如果找到匹配,則返回一個數組,并更新RegExp對象中有關靜態屬性以反映匹配情況。返回數組中的元素0包含了完整的匹配結果,而元素1~n依次是表達式模式中定義的各個子匹配的結果。
exec方法返回的數組有3個屬性,分別是input、index和lastIndex。
input屬性是整個被搜索的字符串。
index屬性是指匹配在整個被搜索字符串中的位置。
lastIndex屬性是指匹配的子字符串的最后一個字符的下一個字符位置。
代碼8.3是對該方法的應用舉例。
代碼8.3 exec()方法應用:8.3.htm

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]

8.5.3 compile方法
語法格式為compile("pattern"[,"flags"])。該方法可以更換RegExp對象實例所使用的表達式模式,并將新的表達式模式編譯為內部格式,從而使以后的匹配過程執行更快。如果要在循環中重復使用某個表達式,對其進行編譯將使執行加速。但是,如果在程序中使用了任何其他表達式模式后,再使用原來編譯過的表達式模式,則這種編譯毫無益處。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久亚洲精品国产亚洲老地址| 国产成人综合av| 欧美成人免费在线视频| 亚洲精品国偷自产在线99热| 国产精品美女视频网站| 欧美成人一区在线| 亚洲欧美日韩另类| 欧美猛交免费看| 亚洲美女性视频| 久热精品视频在线| 2021久久精品国产99国产精品| 精品视频在线导航| 欧美视频专区一二在线观看| 日韩乱码在线视频| 日韩天堂在线视频| 久久综合久久美利坚合众国| 国产成人精品免高潮在线观看| 亚洲精品国精品久久99热| 亚洲国产精品yw在线观看| 久久大大胆人体| 黄网动漫久久久| 国产精品爽爽爽爽爽爽在线观看| 国产极品精品在线观看| 亚洲高清色综合| 第一福利永久视频精品| 91网站免费观看| 欧美激情精品久久久久久| 国产精品私拍pans大尺度在线| 日本午夜精品理论片a级appf发布| 日韩av在线免费| 日韩欧美在线第一页| 亚洲精选中文字幕| 丝袜情趣国产精品| 国产亚洲精品va在线观看| 91香蕉国产在线观看| 欧美另类第一页| 中文字幕日韩高清| 日韩性生活视频| 高跟丝袜欧美一区| 久久人人爽人人爽人人片av高清| 中文字幕成人在线| 国模精品视频一区二区| 国产日韩欧美91| 国产精品美女主播在线观看纯欲| 国产一区二区三区高清在线观看| 欧美一区三区三区高中清蜜桃| www国产精品com| 91网站免费看| 亚洲成人三级在线| 国产在线拍揄自揄视频不卡99| 最近2019中文字幕第三页视频| 欧美一乱一性一交一视频| 日韩在线观看免费av| 久久久久女教师免费一区| 欧美激情亚洲国产| 亚洲国产另类 国产精品国产免费| 成人网在线视频| 欧美裸体xxxx极品少妇| 国产亚洲成av人片在线观看桃| 91国内产香蕉| 亚洲欧美色婷婷| 精品福利在线看| 欧美日韩在线观看视频小说| 欧美精品一二区| 国产日韩精品入口| 亚洲精品大尺度| 色诱女教师一区二区三区| 欧美成人亚洲成人日韩成人| 91av视频在线观看| 日韩欧美国产网站| 91高清视频免费观看| 中文字幕精品在线视频| 黑人巨大精品欧美一区免费视频| 中文字幕欧美精品日韩中文字幕| 神马久久久久久| 欧美日韩在线免费观看| 日韩动漫免费观看电视剧高清| 久久99热精品这里久久精品| 欧美激情精品久久久久久大尺度| 欧美丰满片xxx777| 最近免费中文字幕视频2019| 成人国产精品免费视频| 亚洲精品久久在线| 色婷婷综合久久久久中文字幕1| 国产精品旅馆在线| 亚洲三级黄色在线观看| 国产日韩在线精品av| 日韩第一页在线| 国产精品嫩草视频| 欧美一级黄色网| 成人伊人精品色xxxx视频| 在线精品国产欧美| 97成人在线视频| 日本伊人精品一区二区三区介绍| 午夜精品免费视频| 日韩视频中文字幕| 精品亚洲一区二区| 欧美一区视频在线| 欧美色视频日本高清在线观看| 欧美孕妇毛茸茸xxxx| 午夜精品久久久久久久久久久久| 91chinesevideo永久地址| 久久激情五月丁香伊人| 国产精品com| 日韩久久午夜影院| 在线电影欧美日韩一区二区私密| 国产啪精品视频网站| 欧美大码xxxx| 日本高清不卡在线| 91免费在线视频网站| 亚洲国模精品私拍| 国产欧美最新羞羞视频在线观看| 久久99精品久久久久久琪琪| 97热在线精品视频在线观看| 国产综合色香蕉精品| 久久精视频免费在线久久完整在线看| 国产精品揄拍一区二区| 亚洲天堂男人天堂女人天堂| 中文字幕日韩av| 国内精品模特av私拍在线观看| 伊人男人综合视频网| 亚洲成人国产精品| 91午夜在线播放| 欧美在线视频在线播放完整版免费观看| 久久视频这里只有精品| 欧美午夜电影在线| 日韩美女av在线| 亚洲精品成人久久| 97精品一区二区视频在线观看| 国产日本欧美在线观看| 国产三级精品网站| 国产精品久久久久久久久| 欧美一级大片在线免费观看| 最新69国产成人精品视频免费| 欧美午夜精品久久久久久人妖| 欧美日韩精品在线观看| 国产精品男人的天堂| 欧美电影电视剧在线观看| 久久99亚洲热视| 亚洲激情小视频| 欧美国产日本高清在线| 亚洲国产精品国自产拍av秋霞| 日韩在线视频观看正片免费网站| 97成人超碰免| 97国产在线观看| 国产成人精品av| 久久99久久亚洲国产| 亚洲跨种族黑人xxx| 国产欧美最新羞羞视频在线观看| 国产精品免费福利| 国产精品入口日韩视频大尺度| 91精品免费久久久久久久久| 国内精品久久久久久久久| 97精品国产97久久久久久免费| 91精品国产自产在线老师啪| 亚洲精品久久久久中文字幕二区| 亚洲专区中文字幕| 亚洲欧美制服中文字幕| 美女视频久久黄| 欧美大成色www永久网站婷| 国产精品嫩草影院久久久| 精品一区二区三区三区| 国产日韩欧美电影在线观看| 成人乱色短篇合集|