国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JavaScript與正則表達式

Jrain / 1331人閱讀

摘要:作為的內置對象表示對正則表達式有著原生的支持。返回值是被找到的值。正則表達式替換字符替換與正則表達式匹配的子串。正則表達式返回數組最大長度按照匹配到的字符作為切割點。

更多內容歡迎來到博客 :https://imjianjian.github.io 正則表達式基礎 元字符

正則表達式中有兩種字符:

1.元字符.表達式中的特殊字符

字符 含義
t 水平制表符
v 垂直制表符
n 換行符
r 回車符
0 空字符
f 換頁符
cX 與X對應的控制字符符(Ctrl+X)
。。。 。。。

2.原意文本字符.普通字符,代表原本的意思

字符類

正則表達式中的字符與待校驗字符串中的字符一一對應。

可以用 [ ] 將一些字符歸為一類

也可以使用^取反,例如1

范圍類

如果在字符類中要將每一種情況都列入曉得太麻煩,對于數字和字母可以使用范圍類簡寫,例如:

[0-9]

[a-z]

[a-zA-Z]

預定義類

正則表達式還提供了一些預定義類,來對復雜范圍類進行概括

字符 等價 含義
. 2 除了回車和換行符外的所有字符
d [0-9] 數字字符
D 3 非數字字符
s [tnx0Bfr] 空白符
S 4 非空白符
w [a-zA-Z_0-9] 單詞字符(數字,字母,下劃線)
W 5 非單詞字符
字符邊界
字符 含義
^ 以xxx開始
$ 以xxx結束
b 單詞邊界
B 非單詞邊界
量詞

量詞變數所匹配的字符串重復次數

字符 含義
? 出現零次或一次(最多一次)
+ 出現一次或多次(至少一次)
* 出現零次或多次(任意次)
{n} 出現n次
{n,m} 出現n到m次
{n,} 至少出現n次
貪婪模式與非貪婪模式 貪婪模式
d{3,6} //盡可能多匹配,但最多為6次
貪婪模式
d{3,6}? //盡可能少匹配,但至少為3次
分組

使用“()”將匹配規則劃分成幾個組

//"yes"連續出現3次
(yes){3}

//或:|,可以匹配yes or no或yes and no
yes(or|and)no

//反向應用
"2017-11-1".replace(/(d{4})-(d{2})-(d{0,2})/,"$3/$2/$1")
輸出:1/11/2017
三個“()”將正則表示時分為三組,每組可以用$n來表示,n即在表達式中出現的次序。該表達式中的三組分別匹配到"2017"、"11"、"1",該函數將匹配到的字符串用第二個參數替換。$3/$2/$1==>2017/11/1
前瞻

前瞻即將匹配到的字符串再向前觀察是否也符合所定義的規則,例如校驗數字前是否帶有“¥”,我們可以使用這個正則表達式:

d{0,}(?=¥)
名稱 規則 含義
正向前瞻 exp(?=assert)
反向前瞻 exp(?!assert)
正向后顧 exp(?<=assert) JavaScript不支持
反向后顧 exp(?<=!assert) JavaScript不支持
RegExp對象

簡而言之,正則表達式就是對比校驗字符串是否符合某種規則。

RegExp作為JavaScript的內置對象表示JavaScript對正則表達式有著原生的支持。

創建對象
1.使用構造函數
var reg = new RegExp("imjianjian","g");
2.字面量方式
var reg = /imjianjian/g

以上兩種方式都能創建js正則表達式對象,都是校驗字符串中是否含有 imjianjian 這個單詞,b表示單詞邊界。且兩種方式中都使用了修飾符,構造函數用第二個參數來傳入,而字面量則直接寫在表達式后。修飾符一共如下三種:

g。global全文搜索,不寫則只匹配字符串中的第一個

i。ignore case,忽略大小寫,不寫則大小寫敏感

m。mutiple lines,多行搜索,不寫則只搜索第一行

對象屬性

global:是否全文搜索,默認false

ignoreCase:是否大小寫敏感,默認false

multiline:多行搜索,默認false

lastIndex:當前表達式匹配內容的最后一個字符的下一個位置

source:正則表達式的文本字符串

對象方法 test(string)

test() 方法檢索字符串中的指定值。返回值是 true 或 false。

/am/.test("i am jianjian") //true
/am/.test("he is jianjian") //false
exec(string)

exec() 方法檢索字符串中的指定值。返回值是被找到的值。如果沒有發現匹配,則返回 null。

如果需要找到所有某個字符的所有存在,在找到第一個匹配的字符后,將存儲其位置。如果再次運行 exec(),則從存儲的位置開始檢索,并找到下一個匹配字符,并存儲其位置。

var str = "this is jianjian"; 
var reg = new RegExp("is","g");
var result;

while ((result = reg.exec(str)) != null)  {
  console.log(result);
  console.log(reg.lastIndex);
 }
conpile(regexp,modifier)

compile() 既可以改變檢索模式,也可以添加或刪除第二個參數。即更改匹配規則。

reg=/man/g;
reg2=/(wo)?man/g;
reg.compile(reg2,"i");//將匹配規則改為reg2,且大小寫不敏感
string對象中支持使用正則表達式的方法 search(reg)

檢索與正則表達式相匹配的值。返回第一個與 regexp 相匹配的子串的起始位置。如果沒有找到任何匹配的子串,則返回 -1。search() 方法不執行全局匹配,它將忽略標志 g。它同時忽略 regexp 的 lastIndex 屬性,并且總是從字符串的開始進行檢索,這意味著它總是返回 stringObject 的第一個匹配的位置。

match(reg|str)

找到一個或多個正則表達式的匹配。返回存放匹配結果的數組。該數組的內容依賴于 regexp 是否具有全局標志 g。

replace(reg,replacement)

reg:正則表達式

replacement:替換字符

替換與正則表達式匹配的子串。返回一個新的字符串,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之后得到的。

split(reg,howmany)

reg:正則表達式

howmany:返回數組最大長度

按照匹配到的字符作為切割點。返回切割后的數組。

  • abc ?

  • rn ?

  • 0-9 ?

  • tnx0Bfr ?

  • a-zA-Z_0-9 ?

  • 文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

    轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/92639.html

    相關文章

    • JavaScript中的正則達式

      Javascript的正則表達式是前端中比較重要的部分,正則表達式主要用于字符串處理,表單驗證等場合,實用高效,文章主要對JavaScript中的正則的學習與總結 正則表達式的定義 正則表達式:是一個描述字符模式的對象,JavaScrip中正則表達式用RegExp對象表示,可以使用RegExp構造函數來創建正則對象 正則表達式的創建 1.字面量創建 var reg = /[a-z]/; 2.構...

      _Zhao 評論0 收藏0
    • JavaScript正則達式的匹配模式

      摘要:選擇分組和引用正則表達式的語法還包括指定選擇項子表達式分組和引用前一子表達式的特殊字符。帶圓括號的表達式的另一個用途是允許在同一正則表達式的后部引用前面的子表達式。 正則表達式(regular expression)是一個描述字符模式的對象。JavaScript的 RegExp類 表示正則表達式,String和RegExp都定義了方法,后者使用正則表達式進 行強大的模式匹配和文本檢索與...

      wqj97 評論0 收藏0
    • JavaScript正則達式

      摘要:引用就是允許在同一個正則表達式的后部引用前面的子表達式。這個數字制定了帶圓括號的子表達式在正則表達式中的位置。對正則表達式中前一個子表達式的引用,并不是指對子表達式模式的引用,而是指與那個模式匹配的文本的引用。 前言 本文主要是在讀《JavaScript高級程序語言設計》一書有關正則表達式的章節的知識點記錄,方便后續查閱。 什么是正則表達式 正則表達式是用來描述字符組合的某種規則。它可...

      sixleaves 評論0 收藏0
    • JavaScript 闖關記》之正則達式

      摘要:正則表達式的字符串表示,按照字面量形式而非傳入構造函數中的字符串模式返回。其中,表示匹配項在字符串中的位置,而表示應用正則表達式的字符串。下面列出了正則表達式所不支持的特性。關卡按要求完成下列常用的正則表達式。 由于本課程的核心是 JavaScript,所以本文著重講解了「正則表達式」在 JavaScript 中的用法,并未深入「正則表達式」的具體細節。如果您尚不了解「正則表達式」,強...

      TalkingData 評論0 收藏0
    • JS中的正則達式

      摘要:構造函數可以有兩個字符串參數,第一個參數包含正則表達式的主體部分。只讀的布爾值,說明這個正則表達式是否帶有修飾符。中正則的擴展構造函數在中,只能接受字符串作為參數,允許其直接接受正則表達式作為參數。 上文傳送門:初探正則表達式 正則表達式是一個描述字符模式的對象,JavaScript 的 RegExp 類表示正則表達式,String 和 RegExp 都定義了方法,后者使用正則表達式進...

      Soarkey 評論0 收藏0
    • JavaScript 中的正則達式

      摘要:正則表達式的意義中的正則表達式使用表示,可以使用構造函數來創建對象,不過對象更多的是通過一種特殊的直接量語法來創建。用構造函數也可以定義一個與之等價的正則表達式,代碼如下正則表達式的模式規則是由一個字符序列組成的。 正則表達式的模式匹配 正則表達式(regular expression)是一個描述字符模式的對象。javascript的RegExp對象表示正則表達式,String和Reg...

      _Dreams 評論0 收藏0

    發表評論

    0條評論

    Jrain

    |高級講師

    TA的文章

    閱讀更多
    最新活動
    閱讀需要支付1元查看
    <