下面是一些正則表達式的小例子,說明在註釋中
學習來源 http://manual.phpv.net/regular_expression.html
var str = "history";
console.log(/hi/.test(str)); // true
// \b是正則表達式規定的一個元字符
// 代表着單詞的開頭或結尾,也就是單詞的分界處
console.log(/\bhi\b/.test(str)); // false \b精確查找hi這個詞
str = "hi lili and lucy";
console.log(/\bhi\b/.test(str)); // true
// .是另一個元字符,匹配除了換行符以外的任意字符。
// *同樣是元字符,不過它代表的不是字符,也不是位置,而是數量
// 它指定*前邊的內容可以連續重複出現任意次以使整個表達式得到匹配
// 因此,.*連在一起就意味着任意數量的不包含換行的字符。
console.log(/\bhi\b.*\blucy\b/.test(str)); // true
str = "010-12345678";
// 以0開頭,然後是兩個數字,然後是一個連字號"-",最後是8個數字
console.log(/0\d\d-\d\d\d\d\d\d\d\d/.test(str)); // true
// 爲了避免那麼多煩人的重複,我們也可以這樣寫這個表達式:0\d{2}-\d{8}
console.log(/0\d{2}-\d{8}/.test(str)); // true
// \ba\w*\b匹配以字母a開頭的單詞——先是某個單詞開始處(\b)
// 然後是字母a,然後是任意數量的字母或數字(\w*),最後是單詞結束處(\b)
console.log(/\ba\w*\b/.test("a234DS")); // true
// \d+匹配1個或更多連續的數字
// 這裏的+是和*類似的元字符
// 不同的是*匹配重複任意次(可能是0次),而+則匹配重複1次或更多次
console.log(/\d+/.test("abc")); // false
console.log(/\d*/.test("abc")); // true
// \b\w{6}\b 匹配剛好6個字母/數字的單詞
console.log(/\b\w{6}\b/.test("abc12")); // false
console.log(/\b\w{6}\b/.test("abc123")); // true
// 必須爲5位到12位數字
console.log(/^\d{5,12}$/.test("123456")); // true
代碼 | 說明 |
. | 匹配除換行符以外的任意字符 |
\w | 匹配字母或數字或下劃線或漢字 |
\s | 匹配任意的空白符 |
\d | 匹配數字 |
\b | 匹配單詞的開始或結束 |
^ | 匹配字符串的開始 |
$ | 匹配字符串的結束 |
例如:unibetter\.com匹配unibetter.com,C:\\Windows匹配C:\Windows。
代碼/語法 | 說明 |
* | 重複零次或更多次 |
+ | 重複一次或更多次 |
? | 重複零次或一次 |
{n} | 重複n次 |
{n,} | 重複n次或更多次 |
{n,m} | 重複n到m次 |