一、正則匹配括弧內容
正則匹配括弧是指匹配括弧內的內容,常見的括弧有小括弧(())、中括弧([])、大括弧({})等。使用正則表達式可以方便地匹配這些符號,語法為:用圓括弧將需要匹配的內容括起來。
const str = 'Hello (World)!'; const regex = /\((.*)\)/; console.log(str.match(regex)); // ["(World)!", "World"]
以上代碼中的正則表達式使用圓括弧匹配小括弧內的任意字元,返回的數組中第一個元素為匹配到的整個字元串,第二個元素為括弧內的內容。
二、正則表達式不匹配括弧內容
有些情況下,我們需要匹配括弧本身,而不是其中的內容。此時可以使用轉義符(\)來轉義括弧,表示匹配括弧本身。例如:
const str = '5 + ( 3 * 2 ) - 9'; const regex = /\(/g; console.log(str.match(regex)); // ["(", "("]
以上代碼中,正則表達式匹配小括弧,並使用全局匹配(g)模式使其匹配所有括弧。返回的數組中包含了所有匹配到的小括弧。
三、正則匹配括弧裡面是數字
有時候需要判斷括弧內是否是數字或者特定的數字,可以在正則表達式中使用\d來匹配數字。
const str = 'My student ID is (20211002).'; const regex = /\((\d+)\)/; console.log(str.match(regex)); // ["(20211002)", "20211002"]
以上代碼中,正則表達式匹配小括弧內的數字,並把匹配到的數字存入數組中。
四、正則匹配括弧內的內容
有時候需要匹配所有括弧內的內容,包括嵌套的括弧內的內容。可以使用非貪婪模式(?)來匹配。
const str = 'Color: [Red] (Size: M)'; const regex = /\[(.*?)\]|\((.*?)\)/g; console.log(str.match(regex)); // ["[Red]", "Red", "(Size: M)", "Size: M"]
以上代碼中,正則表達式使用非貪婪模式匹配中括弧或小括弧內的內容,匹配到嵌套的括弧內的內容時也可以被匹配到。
五、正則匹配括弧中間的字
有時候需要匹配兩個括弧之間的內容,這可以通過在正則表達式中使用「不包含」符號(^)實現。
const str = 'My name is (Mike) and (1990-)year-old.'; const regex = /\(([^)]*)\)/g; console.log(str.match(regex)); // ["(Mike)", "(1990-)"]
以上代碼中正則表達式匹配小括弧,使用「不包含」符號匹配小括弧內的所有字元,直到遇到右括弧停止。
六、正則表達式怎麼匹配方括弧
匹配方括弧和括弧的方法與匹配小括弧和中括弧類似,只需要用方括弧包裹字元即可。
const str = 'My favorite fruits are [apple], [banana], and [orange].'; const regex = /\[(.*?)\]/g; console.log(str.match(regex)); // ["[apple]", "[banana]", "[orange]"]
七、正則匹配括弧裡面的內容
匹配括弧內的內容的方法已在上述幾個小節中介紹過了,這裡再次給出完整代碼示例:
const str = 'My student ID is (20211002).'; const regex = /\((.*?)\)/; console.log(str.match(regex)); // ["(20211002)", "20211002"]
八、正則匹配中括弧
匹配中括弧的方法與匹配其他括弧類似,只需要用中括弧包裹字元即可。
const str = 'JavaScript versions: ES5, ES6, ES7.'; const regex = /\[(.*?)\]/g; console.log(str.match(regex)); // []
以上代碼中正則表達式匹配中括弧內的所有字元,但返回的數組為空,因為字元串中沒有中括弧。
九、正則表達式匹配括弧的內容
匹配括弧的內容的方法已在上述幾個小節中介紹過了,這裡再次給出完整代碼示例:
const str = 'Hello [World]!'; const regex = /\[(.*?)\]/; console.log(str.match(regex)); // ["[World]", "World"]
十、正則表達式匹配括弧選取
在正則表達式中,可以使用「|」符號來匹配多個表達式。可以使用該方法來匹配多種括弧。
const str = 'There are (3) [apples], (2) [bananas], and (1) [orange].'; const regex = /\((.*?)\)|\[(.*?)\]/g; console.log(str.match(regex)); // ["(3)", "[apples]", "(2)", "[bananas]", "(1)", "[orange]"]
以上代碼中正則表達式使用「|」符號匹配小括弧和中括弧內的內容,並使用全局匹配(g)模式使其匹配所有括弧內容。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/237807.html