JS RegExp對象(正則表達式)


筆記整理自:廖雪峰老師的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文檔。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM