常用表達
正則表達式是一種形式語言,用於根據元字符的使用來搜索和處理文本中的字符串。
正則表達式使您可以:
-搜索字符串中的文本 -替換字符串中的子字符串 -從字符串中提取信息
JavaScript與Perl一起是一種編程語言,正則表達式支持直接內置在該語言中。
使用困難
正則表達式的缺點是它們通常看起來很奇怪甚至令人生畏。 對於更複雜的模板尤其如此。
let regExp = /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/
定義正則表達式
正則表達式的定義是創建模板,並根據模板進行字符串處理。 在JavaScript中,正則表達式是可以用兩種方式定義的對象。
從導入標籤 '@theme/Tabs'; 從中導入TabItem '@theme/TabItem';
使用文字定義正則表達式。 對於正則表達式,斜杠 / ... /
是文字,它們與括號的作用相同 `` ... '' 創建字符串時。
let regExp = /pattern/
如果決定使用文字創建正則表達式,則應牢記這種創建方法 不允許動態更改 在指定的值。 這是由於正則表達式文字導致 預編譯 腳本解析時。
使用構造函數定義正則表達式。
let regExp = new RegExp('pattern')
使用構造函數創建的正則表達式的編譯發生在腳本執行時。 如果從動態生成的字符串中創建正則表達式,則值得使用這種創建方式。
Using
讓我們通過一個示例來看一下正則表達式的用法:
let regExp = /banana/
使用此代碼我們創建了一個簡單的正則表達式來搜索字符串 banana
. 要測試正則表達式,可以使用 .test(string)
方法,該方法的結果是 boolean
價值。
在示例中,正則表達式查找子字符串 banana
在字符串中 str
.
錨點
錨將模式綁定到行的開頭或結尾。 要綁定到行首,請使用 ^
, 最後,使用 $
.
使用這種模式 / banana /
您將搜索 banana
在整個生產線上。 如果您需要檢查字符串是否與模板完全匹配,則需要使用錨點 / ^ banana $ /
. .test ()
方法將返回 true
僅當整行是 banana
.
標誌
標誌用於增強正則表達式搜索。
g
- 搜索時,搜索所有匹配項;i
- 搜索不取決於大小寫[Z-z]
;m
- 多線模式;s
- 開啟 dotall 模式,其中點.
可以匹配換行符;y
- 最后索引 lastindex p當前正則表達式的屬性;u
- 啟用 Unicode 支持.
以不同方式使用標誌來創建正則表達式模式
let regExp = /pattern/anchor // prettier-ignore
請注意,這些標誌是 integral part 正則表達式 以後不能添加或刪除標誌。 也可以組合標誌。
嘗試刪除 i
該示例中的標誌。
let regExp = new RegExp('pattern', 'anchor')
請注意,這些標誌是 integral part 正則表達式 以後不能添加或刪除標誌。 也可以組合標誌。
嘗試刪除 i
該示例中的標誌。 搜索現在區分大小寫。
Total
該主題非常廣泛,在開發中很少被我們使用,因此,如果您有興趣,可以更詳細地了解它。 here, hereand here.
問題?
問題:
正則表達式有什麼用?
1.創建模板 2.字符串操作 3.編輯字符串
什麼字符用於字面上創建正則表達式?
- Slash
/
- Backslash
\
- Square brackets
[]
如何創建不允許對給定值進行進一步動態更改的正則表達式?
1.從字面上看 2.在構造函數中 3.採用任何方法,都可以進行動態更改
為了了解您學到了多少本課程,請對mobile application 我們學校就這個話題。
鏈接
貢獻者✨
感謝這些好人(emoji key):
IIo3iTiv | Dmitriy Vasilev 💵 | Resoner2005 🐛 🎨 🖋 | Navernoss 🖋 🐛 🎨 |