正規表現のかっこには次の意味があります
- 量指定子の範囲を制限します
- 複数選択構造の範囲を制限します
- 後方参照のためにテキストをキャプチャします
- グループキャプチャ
- グループ化のみでキャプチャはしません
- 見た目先へ
1. 量指定子の範囲を制限する
1
2
3
|
var reg1
= /(マッツ)?/;
0 または 1 マツ
reg2
= /(マッツ)+/;
1 つ以上の Matzvar
reg3
= /(マッツ)*/
//
0 以上の Matzvar
|
2. 複数選択構造の範囲を制限する
1
2
3
4
| 登録
= /(マッツ|アイヒ)/
var reg.test( 'マッツ'reg.test( 'Matz' ) ) //
=> true
reg.test( 'Eich' ) reg.test( 'Eich'reg.test( 'John' ) ) //
=> true
|
reg.test(
'ジョン')
//
=> false
3. 後方参照用にテキストをキャプチャ
1 |
2 var 3 4 5
6reg.test( 'boy' )
reg.test( 'boyboy' ) 登録
= /(男の子)1/ //
/boyboy/
var reg.test( 'boy'reg.test( 'boygirlboygirl' ) ) // と同等
=> false
|
reg.test(
'ボーイボーイ')
//
=>本当
登録
/(男の子)(女の子)12/
reg.test('男の子女の子男の子女の子') //
=> true
4. グループキャプチャ
1
| 2
3var 4 5 var 6 7 8
9 str.replace(reg1, 10 ) 11 12
13var 14
var reg1
= /(d{3}) (d{3})/'13522722724'
reg2.test(mobile)
RegExp.
str
= RegExp. '111
222'
RegExp. str.replace(reg1, '$2
$1'
)var //
=> '222 111' 、ここで $2 と $1 には一致する文字列
var reg2 が格納されることに注意してください。
= /(d{3})(d{4})(d{4})/ '13522722724'
mobile.replace(reg3,
) モバイル
= '13522722724'
|
reg2.test(mobile)
RegExp.$1
//
=> 135
正規Exp.$2
//
=> 2272
正規Exp.$3
| //
=>2724
var reg3
= /(d{3})(d{4})(d{4})/
reg.test( '13522722724' )
RegExp. モバイル
= '13522722724' |
mobile.replace(reg3, '$1
$2 $3'
)
//
=> '135 2272 2724'
5. キャプチャせずにグループ化のみ("?:"と一緒に)
1 |
2 var 3
reg.test( 'John' ) 登録
= /(?:d+)/
reg.test( reg.test( '13522722724') )
reg.test( RegExp.$1 //
=> '' 一致した要素を保存しないでください)
長い正規表現では、後方参照が必要ない場合、キャプチャなしのグループ化を使用する必要があります。 RegExp. 6.先読み (「?=」を使用) 先読みは、一部の文字を前方に移動するように指示しますが、位置は移動しません。テキスト内の特定の位置のみに一致します。 |
🎜🎜1🎜🎜2🎜🎜3🎜🎜4🎜🎜5🎜🎜🎜🎜🎜🎜reg
= /(ジョン) (?=Resig)/🎜🎜🎜🎜reg.test(🎜🎜'ジョン'🎜🎜) 🎜🎜//
=> false🎜🎜🎜🎜reg.test(🎜🎜'ジョン
バッカス🎜🎜)🎜🎜//
=> false🎜🎜🎜🎜reg.test(🎜🎜'ジョン
レイスグ🎜🎜)🎜🎜//
=> true🎜🎜🎜🎜RegExp.$1 🎜🎜//
=>「ジョン」、これは「ジョン・レジグ」ではないことに注意してください🎜🎜🎜🎜🎜🎜🎜
以下は、先読みを使用して携帯電話番号をフォーマットする小さな関数です
1
2
3
4
5
6
7
8
9 |
/*
/*
*
個別の携帯電話番号
*/
function *
13522722724 -> 135 2272 2724
var
'0' */
機能).split( '' )
arr.shift()
return arr.join( '' )
} 別のモバイル(番号)
{ |
var
arr
= (
'0'
🎜+
num ).replace(/(d{4})(?=d)/g,🎜🎜"$1
"🎜🎜).split(🎜🎜"🎜🎜)🎜🎜🎜🎜 🎜🎜arr.shift()🎜🎜🎜🎜 🎜🎜return🎜 🎜arr.join(🎜🎜 🎜🎜" )🎜🎜🎜🎜} 🎜🎜🎜🎜🎜🎜🎜🎜🎜
🎜
上記では、正規表現と括弧を含む正規表現の括弧の曖昧さを紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。 🎜
🎜
🎜