正規表示式中兩種定義方式中的反斜槓

2022-09-16 23:18:24 字數 695 閱讀 4698

正規表示式有兩種定義方式,一種是使用雙正斜槓將正規表示式的式子括起來,例如 var re1 = /^\d$/ ;一種是使用建立正規表示式物件的方式,這種情況下正規表示式作為乙個字串,用雙引號包裹,例如 var re1 = new regexp(「^\\d$」)。從這兩種示例中可以看出雖然表達同樣的意思,但是使用的正規表示式卻有一些區別,區別之處就在反斜槓的使用。

反斜槓代表轉義字元,用在所有字串中,正規表示式作為一種超級字串,和字串一樣遵循轉義字元的條件,點在正規表示式中代表任意字元的匹配,以點為例討論反斜槓在正規表示式中定義時的使用。

在第一種定義方式中,討論   /23\\.34/  和   /23\.34/  的區別,**如下。結論:在這種定義方式下不能用雙反斜槓,否則會將轉義字元轉義為乙個普通字元反斜槓。

在第二種定義方式中,討論 new regexp("23\.34") 、new regexp("23.34")   和  new regexp("23\\.34")的區別,**如下。結論:在這種定義方式下由於是將正規表示式放在字串中,因此若想讓點成為乙個普通點,因此需要使用雙反斜槓。

核心之處在於反斜槓適用在所有字串中,正規表示式作為超級字串同樣適用,而在進行匹配、測試等情況時,免不了要同時使用正規表示式和字串,要注意理清自己的思路。

正規表示式中的 兩種意義

正規表示式中的 有兩種意義,乙個是標識開頭,乙個是內容取反 一 作為標識開頭 1.a 會匹配 a bc 中的a,但是不會匹配 er a 中的a,此時 a的意思是 匹配以a作為開頭的 2.對應的 代表結尾 3.類似的有 s s g cat cat cat cat 二 作為內容取反 x 匹配除了x以外的...

sql正規表示式 SQL中的正規表示式

sql正規表示式 sql中的正規表示式 sql的查詢語句中,有時會需要引進正規表示式為其複雜搜尋指定模式。下面給出一些 regexp 在mysql 語句中應用 非全部 1 匹配字串的開始部分。mysql select fo nfo regexp fo 0mysql select fofo regex...

正規表示式種雙反斜槓問題

var re1 d d alert re1 結果是 d d 和宣告的正則re1一樣 這裡的 n n 0 個數字 符號點 n n 0 個數字 既 9.9 12.134 56362.151415 等 var str1 134.32 alert re1.test str1 true 接下來 我們根據感覺改...