一個關(guān)于正則表達式的問題
更新時間:2006年12月21日 00:00:00 作者:
再補一個問題
(.+)、(.)+、.+不是一樣的嗎?
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
為什么上面代碼運行結(jié)果都不一樣
有的結(jié)果還用逗號分開 是怎么回事呢
試試alert(Pattern3.exec("<p align=center onclick=dsa6>")[1])將得到6
(.)+一路匹配過來,返回的是最后匹中的結(jié)果。
+(加號)表示+前面的模式(或模式片斷)當有至少一個、可有多個。
出現(xiàn)在正則表達式中的()所包圍的的內(nèi)容被視為模式中的子片斷,會在exec()中體現(xiàn)出來。
(.+)、(.)+、.+不是一樣的嗎?
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
為什么上面代碼運行結(jié)果都不一樣
有的結(jié)果還用逗號分開 是怎么回事呢
復制代碼 代碼如下:
exec()返回的是匹配到符合模式的內(nèi)容的數(shù)組(由整體和按順選排列的子片斷組成),用alert顯示時會顯示數(shù)組toSting()的結(jié)果(就是用逗號隔開的字符串)。
在正則表達式中 . (點)表示除換行符以外的任意字符(在加上m參數(shù)打開多行匹配模式時表示任意字符),用轉(zhuǎn)義符號\.表示點這個字符本體。
在正則表達式中 . (點)表示除換行符以外的任意字符(在加上m參數(shù)打開多行匹配模式時表示任意字符),用轉(zhuǎn)義符號\.表示點這個字符本體。
復制代碼 代碼如下:
var Pattern3=/<(.)+>/i;
alert(Pattern3.exec("<p align=center onclick=dsa>")[1])
為什么得到的是a而不是p?
alert(Pattern3.exec("<p align=center onclick=dsa>")[1])
為什么得到的是a而不是p?
試試alert(Pattern3.exec("<p align=center onclick=dsa6>")[1])將得到6
(.)+一路匹配過來,返回的是最后匹中的結(jié)果。
+(加號)表示+前面的模式(或模式片斷)當有至少一個、可有多個。
出現(xiàn)在正則表達式中的()所包圍的的內(nèi)容被視為模式中的子片斷,會在exec()中體現(xiàn)出來。
相關(guān)文章
自定義ubb代碼,preg_replace()函數(shù)的一些代碼
自定義ubb代碼,preg_replace()函數(shù)的一些代碼...2007-03-03正則表達式語法規(guī)則及在Javascript和C#中的使用方法
正則表達式通常被用來檢索和/或替換那些符合某個模式的文本內(nèi)容。許多程序設(shè)計語言都支持利用正則表達式進行字符串操作2013-10-10Scala中正則表達式以及與模式匹配結(jié)合(多種方式)
這篇文章主要介紹了Scala中正則表達式以及與模式匹配結(jié)合,本文給大家介紹了多種模式匹配方式,需要的朋友可以參考下2019-06-06