**
javascript從入門到跑路-----小文的js學習筆記(1)---------script、alert、document。write() 和 console.log 標籤
…
…
javascript從入門到跑路-----小文的js學習筆記目錄
**
關注小文我們一起學習進步。
一、正則表達式(Regular Expression)的含義
正則表達式到底是什麼呢?
我們先來看看含義: 正則表達式是使用單個字符串來描述、匹配一系列符合某個句法規則的字符串搜索模式,簡單的來說就是一個由字符序列形成的搜索模式。它可以是y一個簡單的字符,也可以是一個複雜的模式,並且正則表達式可用於所有文本搜索和文本替換的操作。
當我們在文中搜索數據時,我們可以用它來描述我們想要查詢的內容。
注意:光理論是不夠的,技術是不斷更新的。在此贈送2020最新企業級別Vue3.0/Js/ES6/TS/React/node等實戰視頻教程,想學的可進裙 519293536 免費獲取,小白勿進哦!
二、正則表達式的應用場景
那麼我們的正則表達式一般用在什麼地方呢?下面我們簡單的舉兩個例子:
1、我們的表單驗證,類似於我們平常打遊戲取的遊戲名字,當你創建名字時,系統會爲你進行搜索,看該用戶名是否已經存在。
2、替換文本,我們可以在文檔中使用一個正則表達式來表示某個特定文字,然後可以將其全部刪除或者替換成其他的文字。
三、正則表達式的創建
正則表達式的創建一共有兩種語法,
語法(1):字面量的形式 :/正則表達式主體/修飾符(可選)
這樣就說明我們的正則表達式已經創建成功了:
語法(2):構造函數的形式: new RegExp()
這種寫法同樣也能將我們的正則表達式創建出來:
二者雖然都具有創建我們正則表達式的功能,
但是二者還是具有一定的區別:
字面量形式內不能夠放入變量和函數…
構造函數形式內可以放入變量和函數
簡單的說明一下,這個區別的意思就是:
先看我們下面兩種寫法,給m賦值爲2,然後在創建正則表達式時,寫入m,
(a) (b)
執行結果:很顯然,我們明明已經給m賦值爲2,但是我們的第一種寫法,創建出來依舊是/m/,只有我們的第二種寫法,才成功爲/2/.
(a) (b)
四、正則表達式的方法
正則表達式的方法還是有好幾個,那麼下面我們說幾個我們常用的:
test | 用於檢測一個字符串是否與我們的正則表達式相匹配,返回布爾值 |
exec | 用於檢測一個字符串是否與我們的正則表達式相匹配,返回數組 |
search() | 檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串,並返回子串的起始位置 |
replace() | 在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串 |
那麼下面我們來分別解釋以下:
1、test
語法: 正則表達式.test(內容)
簡單的理解就是將我們的內容與我們的正則表達式相匹配,返回布爾值(匹配則返回true;不匹配則返回false)
那麼下面我們簡單的進行舉例:
很顯然我們b和我們的正則表達式a是匹配的,所以執行結果:
當然:
很顯然二者不匹配:
2、exec
語法: 正則表達式.exec(內容)
exec 和上面我們的test 的作用一樣,都是將我們的內容與我們的正則表達式相匹配,只不過返回的結果有所不同,我們的exec返回的是(若匹配則返回數組(你也可以簡單記爲返回它本身),若不匹配則返回null)
簡單示例:
很顯然二者匹配,執行結果:
當然不匹配則返回null
執行結果:
3、search
語法:內容1.search(內容2)
可以檢索字符串中指定的子字符串,也可以檢索與正則表達式相匹配的子字符串,並返回子串的起始位置,那麼我們的內容2既可以是正則表達式,也可以是我們的字符串,但是我們的內容1基本上都是字符串。
簡單示例: 檢索與正則表達式相匹配的子字符串
示例(2): 檢索字符串中指定的子字符串
執行結果:
注意:這個起始位置是從0開始往後數的。
4、replace
語法: 內容.replace(“str1”,“str2”)
簡單的理解就是用str2來代替我們內容裏的str1,當然我們的str1既可以是我們要替換的內容中的字符,也可以是一個正則表達式,(寫正則表達式的話,的意思就是,替換掉我們內容中和我們正則表達式相匹配的字符串)
簡單示例(1):用一些字符替換另一些字符
執行結果:我們的aaa被我們的ccc所替換
簡單示例(2):替換一個與正則表達式匹配的子串
執行結果:用我們的ccc來將內容中和我們正則表達式相匹配的字符串相替換
**
ᴵ ʰᵒᵖᵉ ʸᵒᵘ ᶜᵃⁿ ᵒⁿˡʸ ˡᵒᵒᵏ ᶠᵒʳʷᵃʳᵈ ᵗᵒ ᵐᵉ.
----------------------我希望你滿目山河 唯獨嚮往我