JavaScrip中的正則表達式RegExp

定義

RegExp 是正則表達式的縮寫。

直接量語法:

/pattern/attributes

創(chuàng)建 RegExp 對象的語法:

new RegExp(pattern, attributes);

  • 參數(shù) pattern 是一個字符串怀酷,指定了正則表達式的模式或其他正則表達式瞬痘。
  • 參數(shù) attributes 是一個可選的字符串肛根,包含屬性 "g"升熊、"i" 和 "m"虚青。
    i 執(zhí)行對大小寫不敏感的匹配。 g 執(zhí)行全局匹配(查找所有匹配而非在找到第一個匹配后停止)苞也。 m 執(zhí)行多行匹配。
    ECMAScript 標(biāo)準(zhǔn)化之前粘秆,不支持 m 屬性如迟。如果 pattern 是正則表達式,而不是字符串攻走,則必須省略該參數(shù)殷勘。

定義 RegExp

RegExp 對象用于存儲檢索模式。通過 new 關(guān)鍵詞來定義 RegExp 對象昔搂。以下代碼定義了名為 patt1 的 RegExp 對象玲销,其模式是 "e":

var patt1=new RegExp("e");
var patt2=/e/g;      // "g" 參數(shù) ("global")

RegExp 對象的方法

RegExp 對象有 3 個方法:test()、exec() 以及 compile()摘符。

test()

test() 方法檢索字符串中的指定值贤斜。返回值是 true 或 false。
例子:
var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));
由于該字符串中存在字母 "e"逛裤,以上代碼的輸出將是:
true

exec()

exec() 方法檢索字符串中的指定值瘩绒。返回值是被找到的值。如果沒有發(fā)現(xiàn)匹配带族,則返回 null锁荔。
例子 1:
var patt1=new RegExp("e");

document.write(patt1.exec("The best things in life are free"));
由于該字符串中存在字母 "e",以上代碼的輸出將是:
e

例子 2:
在使用 "g" 參數(shù)時蝙砌,exec() 的工作原理如下:
找到第一個 "e"阳堕,并存儲其位置
如果再次運行 exec()跋理,則從存儲的位置開始檢索,并找到下一個 "e"恬总,并存儲其位置

var patt1 = new RegExp("e", "g");
do {
    result = patt1.exec("The best things in life are free");
    document.write(result);
}
while (result != null)

由于這個字符串中 6 個 "e" 字母前普,代碼的輸出將是:
eeeeeenull

compile()

compile() 方法用于修改 RegExp。也可以添加或刪除第二個參數(shù)越驻。
例子:

var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));

patt1.compile("d");   // 改變正則
document.write(patt1.test("The best things in life are free"));

由于字符串中存在 "e"汁政,而沒有 "d",以上代碼的輸出是:
truefalse

http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末缀旁,一起剝皮案震驚了整個濱河市记劈,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌并巍,老刑警劉巖目木,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異懊渡,居然都是意外死亡刽射,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門剃执,熙熙樓的掌柜王于貴愁眉苦臉地迎上來誓禁,“玉大人,你說我怎么就攤上這事肾档∧∏。” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵怒见,是天一觀的道長俗慈。 經(jīng)常有香客問我,道長遣耍,這世上最難降的妖魔是什么闺阱? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮舵变,結(jié)果婚禮上酣溃,老公的妹妹穿的比我還像新娘。我一直安慰自己纪隙,他們只是感情好救拉,可當(dāng)我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瘫拣,像睡著了一般亿絮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天派昧,我揣著相機與錄音黔姜,去河邊找鬼。 笑死蒂萎,一個胖子當(dāng)著我的面吹牛秆吵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播五慈,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼纳寂,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了泻拦?” 一聲冷哼從身側(cè)響起毙芜,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎争拐,沒想到半個月后腋粥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡架曹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年隘冲,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绑雄。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡展辞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出万牺,到底是詐尸還是另有隱情纵竖,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布杏愤,位于F島的核電站,受9級特大地震影響已脓,放射性物質(zhì)發(fā)生泄漏珊楼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一度液、第九天 我趴在偏房一處隱蔽的房頂上張望厕宗。 院中可真熱鬧,春花似錦堕担、人聲如沸已慢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽佑惠。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間膜楷,已是汗流浹背旭咽。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留赌厅,地道東北人穷绵。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像特愿,于是被迫代替她去往敵國和親仲墨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理揍障,服務(wù)發(fā)現(xiàn)目养,斷路器,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • RegExp 三大方法本文的RegExp采用直接量語法表示:/pattern/attributes亚兄。attribu...
    恩德_b0c2閱讀 452評論 0 0
  • 一、exec 方法 用正則表達式模式在字符串中查找膳叨,并返回該查找結(jié)果的第一個值(數(shù)組)洽洁,如果匹配失敗,返回null...
    JasonQiao閱讀 7,072評論 0 2
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,212評論 0 4
  • 局部名字空間(只讀) locals() 全局名字空間 globals()
    a640108閱讀 366評論 0 0