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

資訊專欄INFORMATION COLUMN

JS系列之正則

ckllj / 2643人閱讀

摘要:反向引用當一個正則表達式被分組之后,每一個組將自動被賦予一個組號,該組號可以代表該組的表達式。對象方法接受一個字符串參數,如果正則表達式與指定的字符串匹配返回否則返回同樣接受一個字符串為參數,返回一個數組,其中存放匹配的結果。

創建方式

字面量創建方式

 var reg = /pattern/flags;

實例創建方式

 var reg = new RegExp(pattern, flags);

字面量創建方式和構造函數創建方式的區別:
1.字面量創建方式不能進行字符串拼接,實例創建方式可以

var regParam = "cm";
var reg1 = new RegExp(regParam+"1");
var reg2 = /regParam/;
console.log(reg1);   // /cm1/
console.log(reg2);   // /regParam/

2.字面量創建方式特殊含義的字符不需要轉義,實例創建方式需要轉義

var reg1 = new RegExp("d");  //    /d/ 
var reg2 = new RegExp("d")  //   /d/
var reg3 = /d/;              //  /d/
修飾符
i   ignoreCase 忽略大小寫
g   global 全局匹配
m   multiline 多行匹配

RegExp 對象屬性:

let reg = /abc/igm;
reg.global  //true
reg.ignoreCase  //true
reg.multiline  //true
元字符 位置元字符
^     匹配字符串的開始
$     匹配字符串的結束
    匹配單詞的開始或結束
B    匹配非單詞邊界
G    上一個匹配的結尾(本次匹配開始)
A    字符串開頭(類似^,但不受處理多行選項的影響)
    字符串結尾或行尾(不受處理多行選項的影響)
z    字符串結尾(類似$,但不受處理多行選項的影響)
基本元字符
     在非特殊字符之前的反斜杠表示下一個字符是特殊的
|     邏輯或操作符
[]    定義一個字符集合,匹配字符集合中的一個字符,在字符集合里面像 .,這些字符都表示其本身
[^]   對上面一個集合取非
-     定義一個區間,例如[A-Z],其首尾字符在 ASCII 字符集里面
()    分組,將相關的元素歸攏,構成單個元素;多選結構,(...|...),規定可能出現的多個子表達式;引用分組,存儲子表達式匹配文本,供之后引用。
特殊元字符
.     匹配除了換行符之外的任何單個字符
d    0~9任意一個數字
D    非0~9之間的任意字符
w    匹配包括下劃線的任何單詞字符
W    匹配任何非單詞字符
S    非空字符
s    不可見字符,如空格、回車、制表符
a|b      a或者b任意一個

[abc]    a或b或c任意一個
[^abc]   除了ac之外的

[a-z]    表示a到z中任意一個字母 [0-9]等價于d
[^a-z]
量詞
*        重復零次或更多次
+        重復一次或更多次
?        重復零次或一次
{n}      重復n次
{n,}     重復n次或更多次
{n,m}    重復n到m次
字符類
	 Tab

 換行符

 回車符
f 換頁符
e Escape
貪婪與非貪婪模式

貪婪匹配: 正則表達式一般趨向于最大長度匹配,也就是所謂的貪婪匹配
非貪婪匹配:就是匹配到結果就好,最少的匹配字符

默認是貪婪模式;在量詞后面直接加上一個問號?就是非貪婪模式。
反向引用

當一個正則表達式被分組之后,每一個組將自動被賦予一個組號,該組號可以代表該組的表達式。其中組號的編制規則為:從左到右、以分組的左括號“(”為標識,第一個分組的組號為1,第二個分組的組號為2,依此類推。

“
umber”中的number就是組號

regex=(abc)d1可以匹配字符串abcdabc,即1表示把獲取到的第一組再匹配一次,如下:
let regg = /(abc)d1/;
"abcabcdbc".match(regg);    //["abcdabc", "abc", index: 3, input: "abcabcdabc", groups: undefined]
預搜索(零寬斷言)

預搜索,又叫零寬斷言,又叫環視,它是對位置的匹配,與定位字符(邊界字符)類似。

(?=pattern)  斷言此位置的后面能匹配表達式pattern
(?<=pattern) 斷言此位置的前面能匹配表達式pattern
(?!pattern)  斷言此位置的后面不能匹配表達式pattern
(?
RegExp 對象屬性
lastIndex    一個整數,標示開始下一次匹配的字符位置。        
source    正則表達式的源文本。
RegExp 對象方法 test

test接受一個字符串參數,如果正則表達式與指定的字符串匹配返回 true 否則返回 false

let reg = /^Hello/

reg.test("Hello World") // => true
reg.test("Say Hello") // => false
exec

exec同樣接受一個字符串為參數,返回一個數組,其中存放匹配的結果。如果未找到匹配,則返回值為 null。

let reg = /([a-z])d+/
let str = "a233"
let result = reg.exec(str)   // ["a233", "a", index: 0, input: "a233"] 

// 0:"a233" 表示我們捕獲到的字符串
// 1:"a" 表示我們捕獲到的分組字符串
// index:0 表示捕獲開始位置的索引
// input 表示原有的字符串

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

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

相關文章

  • 前端文檔收集

    摘要:系列種優化頁面加載速度的方法隨筆分類中個最重要的技術點常用整理網頁性能管理詳解離線緩存簡介系列編寫高性能有趣的原生數組函數數據訪問性能優化方案實現的大排序算法一怪對象常用方法函數收集數組的操作面向對象和原型繼承中關鍵詞的優雅解釋淺談系列 H5系列 10種優化頁面加載速度的方法 隨筆分類 - HTML5 HTML5中40個最重要的技術點 常用meta整理 網頁性能管理詳解 HTML5 ...

    jsbintask 評論0 收藏0
  • 前端文檔收集

    摘要:系列種優化頁面加載速度的方法隨筆分類中個最重要的技術點常用整理網頁性能管理詳解離線緩存簡介系列編寫高性能有趣的原生數組函數數據訪問性能優化方案實現的大排序算法一怪對象常用方法函數收集數組的操作面向對象和原型繼承中關鍵詞的優雅解釋淺談系列 H5系列 10種優化頁面加載速度的方法 隨筆分類 - HTML5 HTML5中40個最重要的技術點 常用meta整理 網頁性能管理詳解 HTML5 ...

    muddyway 評論0 收藏0
  • 正則表達式

    摘要:本文內容共正則表達式火拼系列正則表達式回溯法原理學習正則表達式,是需要懂點兒匹配原理的。正則表達式迷你書問世了讓幫你生成和解析參數字符串最全正則表達式總結驗證號手機號中文郵編身份證地址等是正則表達式的縮寫,作用是對字符串執行模式匹配。 JS 的正則表達式 正則表達式 一種幾乎可以在所有的程序設計語言里和所有的計算機平臺上使用的文字處理工具。它可以用來查找特定的信息(搜索),也可以用來查...

    bang590 評論0 收藏0
  • JavaScript系列(四) - 收藏集 - 掘金

    摘要:函數式編程前端掘金引言面向對象編程一直以來都是中的主導范式。函數式編程是一種強調減少對程序外部狀態產生改變的方式。 JavaScript 函數式編程 - 前端 - 掘金引言 面向對象編程一直以來都是JavaScript中的主導范式。JavaScript作為一門多范式編程語言,然而,近幾年,函數式編程越來越多得受到開發者的青睞。函數式編程是一種強調減少對程序外部狀態產生改變的方式。因此,...

    cfanr 評論0 收藏0

發表評論

0條評論

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