JS正規表示式小運用

2021-09-25 08:58:06 字數 2664 閱讀 6915

使用match()方法來返回匹配結果。如果匹配上,直接扔出來,下次開始位置是扔出來的下一位開始;如果沒有匹配上,從本次匹配的下一位開始繼續匹配。

例項一

var str =

'abbab'

;var pattern =

/[a-z]/g

;//篩選出連續的兩個字元都是小寫字母即可

console.

log(str.

match

(pattern));

//array [ "ab", "ba" ]

var pattern1 =

/[a-z][a-z]/g

;//與上面一樣

console.

log(str.

match

(pattern1));

//array [ "ab", "ba" ]

var pattern2 =

/[a-z]/g

;//連續出現最少乙個小寫字母,最多出現兩個小寫字母(貪婪模式)

console.

log(str.

match

(pattern));

//array [ "ab", "ba" ,"b" ]

var pattern3 =

/([a-z]).([a-z])/g

;//篩選第乙個、第二個字元都是小寫字母,第三個為任意字元,第四個字元也是小寫字母的字串

console.

log(str.

match

(pattern3));

//array [ "abba" ]

例項二
var str =

'abbab'

;var pattern1 =

/([a-z]).\1/g

;//篩選第乙個字元是小寫字母,第二個為任意字元,第三個字元與第乙個字元一樣的字串

console.

log(str.

match

(pattern));

//array [ "bab" ]

var pattern2 =

/([a-z])([a-z]).\1/g

;//篩選第乙個字元、第二個字元都是小寫字母,第三個字元為任意字元,第四個字元與第乙個字元一樣的字串

console.

log(str.

match

(pattern2));

//array [ "abba" ]

var pattern3 =

/([a-z]).\1/g

;//篩選第乙個字元、第二個字元都是小寫字母,第三個字元為任意字元,第四個字元與第二個字元一樣的字串

console.

log(str.

match

(pattern3));

//array [ "bbab" ]

例項三
var str =

'hello hellohelloworld'

;var pattern1 =

/(hello)+/ig

;//篩選出至少出現一次的'hello'字串(貪婪模式)

console.

log(str.

match

(pattern1));

//array [ "hello", "hellohello" ]

var pattern2 =

/(hello)+?/ig

;//篩選出至少出現一次的'hello'字串(非貪婪模式)

console.

log(str.

match

(pattern2));

//array(3) [ "hello", "hello", "hello" ]

例項四
var str =

'acbycby'

;var pattern1 =

/([a-z])(y).\1\2/g

;//篩選出第乙個、第二個、第三個字元都是小寫字母,第四個為字元'y',第五個為任意字元,第六個為與第三個一樣的字元,第七個為與第四個一樣的字元

console.

log(str.

match

(pattern1));

//array [ "acbycby" ]

var pattern2 =

/([a-z])(y).\1\2/

;//不加'g',意思變成篩選出第乙個、第二個、第三個字元都是小寫字母,第四個為字元'y',第五個為任意字元,第六個為與第三個一樣的字元,第七個為與第四個一樣的字元.並且把'\1'的值(也就是第六個字元)'\2'的值(也就是第七個字元)輸出來.(match()方法與exec()方法輸出結果一樣)

console.

log(str.

match

(pattern2));

//array(3) [ "acbycby", "b", "y" ]

console.

log(pattern2.

exec

(str));

//array(3) [ "acbycby", "b", "y" ]

如果圓括號後邊有次數,在使用\n引用的時候,用的是第n個圓括號最後一次匹配的結果,可以在不加g修飾的match中的陣列中除了第乙個之外的其他元素中拿到。

中運用正規表示式

看到大家討論這方面的東西,作點貢獻聊表各位高手對這個版快的無私奉獻 oops 如果使用者熟悉linux下的sed awk grep或vi,那麼對正規表示式這一概念肯定不會陌生。由於它可以極大地簡化處理字串時的複雜度,因此現在已經在許多linux實用工具中得到了應用。千萬不要以為正規表示式只是perl...

正規表示式簡單運用

在學習中呢,剛認識到正則的一些用處,好處,那麼在這裡就講講正規表示式的一些簡單運用。我希望能讓你們了解到什麼是正規表示式,同時能讓自己加深對正規表示式的理解。第一次看到正規表示式的時候呢,根本看不懂這是什麼。就例如 nkeyup value value.replace u4e00 u9fa5 g,o...

正規表示式與運用

正規表示式用的地方是很多的。比如字串處理過程中。最近遇到記錄一下。1.比如在shell中 1 bin bash 23 str date 2017 11 28 os centos blackbord blog 4 5 echo str grep centos color 6 echo str grep...