首頁 > 後端開發 > php教程 > 正規表示式小括號的多義性 正規表示式 去掉括號 正規表示式 符合括號 正規表示式 括號配

正規表示式小括號的多義性 正規表示式 去掉括號 正規表示式 符合括號 正規表示式 括號配

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-07-29 08:48:35
原創
1372 人瀏覽過

小括號在正規表示式這有以下意義

  • 限定量詞作用的範圍
  • 限定多選結構的範圍
  • 為反向引用捕獲文字
  • 分組捕獲
  • 一、限定量詞作用的範圍

1

23 = /(Matz)?/; 二、限定多選結構的範圍

 

3

// 0或1個Matzvar reg2 = /(Matz)+/; 

// 1個以上Matzvar reg3 = /(Matz)*/; 

// 0或多個Matzvar

 reg = /(Matz|Eich)/

reg.test(

'Matz'

// => true

varreg.test('Eich'

reg.test('Matz'// => true

reg.test('Eich'reg.test('John'

reg.test('John'// => false

三、為反向引用擷取文字

// => true
6

 

reg = /(boy)1/ 

// 相當於 /boyboy/

reg.test(
'boy'

var// => false

reg.test(reg.test('boy''boyboy'

reg.test('boyboy'// => true

 varreg /(boy)(girl)12/

reg.test(reg.test('boygirlboygirl''boygirlboygirl'

四、分組捕捉reg1 = /(d{3}) (d{3})/ 

1535%

6

7

8

9

10

11

12

13

14

 

var str = 

'111 222'varstr.replace(reg1, 

'$2 $1'

str.replace(reg1, // => '222 111' , 注意這裡的$2,$1,存放了相符的字串

 

reg2 = /(d{3})(d{4})(d{4})/var

 

mobile = var'13522722724''13522722724'

reg2.test(mobile)

RegExp. reg2.test(mobile)

RegExp. RegExp.$1 

///

RegExp. RegExp.$1 /// => 135

varRegExp.$2 

// => 2272

varRegExp.$3 '13522722724'

mobile.replace(reg3, // => 2724 

reg3 = /(d{3})(d{4})(d{4})/
mobile = '13522722724'

mobile.replace(reg3, '$1 $2 $3'

// => '135 2272 2724'

var

五、只分組不捕獲(和"?:" 一起)

reg.test('13522722724')

RegExp. 

reg = /(?:d+)/
reg.test('13522722724'

)

RegExp.$1)

/ => '' 不儲存符合的元素六、前瞻(lookahead,和 "?=" 一起)reg.test('John Backus'

較長的正則表達式中,反向引用會降低匹配速度,效能降低,不需要反向引用時應使用分組不捕獲。

它告訴正規表示式向前看一些字元但不移動位置,前瞻不匹配任何字元只匹配文字中的特定位置。 var

reg.test('John'1

2

reg.test(345

= /(John) (?=Resig)/reg.test(reg.test('John'

RegExp. // => false

🎜) 🎜🎜// => false🎜🎜🎜🎜reg.test(🎜🎜'John Reisg'🎜🎜) 🎜🎜// => true🎜🎜🎜🎜RegExp.$1 🎜🎜// => 'John',注意這裡不是 "John Resig"🎜🎜🎜🎜🎜🎜🎜

如下是利用前瞻實現手機號碼格式化的小函數

+ num ).replace(/(d{4})(?=d)/g,"$1 "

1

2

3

9

/*

 

* 手機號碼分隔

/*

  * 13522722724 -> 135 2272 2724

  

*/

 */

functionfunction

 

separate() {    var'0'    var arr = ( ).split('')

    arr.shift()

    return arr.join('')

}

'0' 
).split(

''

)

🎜🎜🎜    🎜🎜arr.shift()🎜. 🎜🎜''🎜🎜)🎜🎜🎜🎜} 🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜 以上就介紹了正規表示式小括號的多義性,包括了正規表示式,小括號方面的內容,希望對PHP教學有興趣的朋友有所幫助。 🎜 🎜 🎜
相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
正規表示式行為的差異
來自於 1970-01-01 08:00:00
0
0
0
javascript - 正規表示式答疑
來自於 1970-01-01 08:00:00
0
0
0
轉換JavaScript正規表示式為PHP
來自於 1970-01-01 08:00:00
0
0
0
正規表示式 - 求一個vim中的正規表示
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板