筆記整理自:廖雪峰老師的JS教程
正則表達式語法:https://www.runoob.com/regexp/regexp-tutorial.html
創建方式
JavaScript有兩種方式創建一個正則表達式:
兩種寫法是一樣的。
方式一
- 第一種方式是直接通過
/正則表達式/寫出來:
var re1 = /ABC\-001/;
方式二
- 第二種方式是通過
new RegExp('正則表達式')創建一個RegExp對象。
var re2 = new RegExp('ABC\\-001');
var regex=new RegExp('\\d{2,5}');
console.log(regex.test('12'));//true
注意:如果使用第二種寫法,因為字符串的轉義問題,字符串的兩個\\實際上是一個\。 需要特別注意!!!!!
簡單使用
判斷正則表達式是否匹配
RegExp對象的test()方法用於測試給定的字符串是否符合條件
var re = /^\d{3}\-\d{3,8}$/;
re.test('010-12345'); // true
re.test('010-1234x'); // false
re.test('010 12345'); // false
分組取串
除了簡單地判斷是否匹配之外,正則表達式還有提取子串的強大功能。用()表示的就是要提取的分組(Group)
var re = /^(\d{3})-(\d{3,8})$/;
re.exec('010-12345'); // ['010-12345', '010', '12345']
re.exec('010 12345'); // null
如果正則表達式中定義了組,就可以在RegExp對象上用exec()方法提取出子串來。
exec()方法在匹配成功后,會返回一個Array,第一個元素是正則表達式匹配到的整個字符串,后面的字符串表示匹配成功的子串。
exec()方法在匹配失敗時返回null。
…
更多使用查閱JS文檔。
