test 返回boolean
,查詢對應的字串中是否存在模式。
var str = "1a1b1c";var reg = new regexp("1.", "");
alert(reg.test(str));
//true
exec
查詢並返回當前的匹配結果,並以陣列的形式返回。
var str = "1a1b1c";如果不存在模式,則var reg = new regexp("1.", "");
var arr = reg.exec(str);//["1a", index: 0, input: "1a1b1c", groups: undefined]
arr
為null
,否則arr
總是乙個長度為1
的陣列,其值就是當前匹配項。arr
還有三個屬性:index
當前匹配項的位置;lastindex
當前匹配項結束的位置(index + 當前匹配項的長度);input
如上示例中input
就是str
。
exec
方法受引數g
的影響。若指定了 g,則下次呼叫 exec 時,會從上個匹配的lastindex
開始查詢。
var str = "1a1b1c";上述兩個輸出都是var reg = new regexp("1.", "");
alert(reg.exec(str)[0]);//1a
alert(reg.exec(str)[0]);//1a
1a
。現在再看看指定引數 g:
var str = "1a1b1c";上述第乙個輸出var reg = new regexp("1.", "g");
alert(reg.exec(str)[0]);//
1aalert(reg.exec(str)[0]);//
1b
1a
,第二個輸出1b
。
match 是 string 物件的乙個方法。
var str = "1a1b1c";var reg = new regexp("1.", "");
alert(str.match(reg));//["1a", index: 0, input: "1a1b1c", groups: undefined]
match
這個方法有點像exec
,但:exec
是regexp
物件的方法;match
是string
物件的方法。
二者還有乙個不同點,就是對引數g
的解釋
。 如果指定了引數g
,那麼match
一次返回所有的結果。
var str = "1a1b1c";此結果為乙個陣列,有三個元素,分別是:var reg = new regexp("1.", "g");
alert(str.match(reg));//["1a", "1b", "1c"]
1a、1b、1c
。
1、第一種定義(建構函式定義):
new regexp(pattern, attributes);
pattern:
表示式內容,如上表示匹配abc;
attributes
:
用最多的為g和i
2、第二種定義(//文字定義):/pattern/attributes
.
如:var reg = /abc/g;
詳情見:
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
sql正規表示式 SQL中的正規表示式
sql正規表示式 sql中的正規表示式 sql的查詢語句中,有時會需要引進正規表示式為其複雜搜尋指定模式。下面給出一些 regexp 在mysql 語句中應用 非全部 1 匹配字串的開始部分。mysql select fo nfo regexp fo 0mysql select fofo regex...