#正規表現におけるパターン修飾子の役割の詳細な説明 (i、g、m、s、x、e)
パターン修飾子とは何ですか?
1. パターン修飾子はほんの数文字です。各正規表現で一度に 1 つまたは連続して複数使用できます。それぞれにある意味。 2. パターン修飾子は正規表現全体を調整するために使用され、正規表現関数の拡張とも言えます。 正規表現の公式を覚えていますか? '/Atoms and Metacharacters/Pattern Modifier' (スラッシュが境界文字です)。パターン修飾子の構成
パターン修飾子は文字ですが、これらはパターン修飾子の適用において特別な意味を持ちます。どのようなパターン修飾子が利用可能であるかを見てみましょう。次の表を参照してください: i は一致で大文字と小文字が区別されないことを意味するため、次の例では、実証するために、他のパターン修飾子の例を見てみましょう。1、モード修飾子 m。
コードは次のとおりです:<?php $pattern = '/^abc/m'; $string = 'bcd abc cba'; if (preg_match($pattern, $string, $arr)) { echo "正则表达式<b>{$pattern}</b>和字符串<b>{$string}</b>匹配成功<br>"; print_r($arr); } else { echo "<font color='red'>正则表达式{$pattern}和字符串{$string}匹配失败</font>"; } ?>
2、モード修飾子。
コードは次のとおりです。<?php $pattern = '/a.*c/s'; $string = 'adsadsa c'; if (preg_match($pattern, $string, $arr)) { echo "正则表达式<b>{$pattern}</b>和字符串<b>{$string}</b>匹配成功<br>"; print_r($arr); } else { echo "<font color='red'>正则表达式{$pattern}和字符串{$string}匹配失败</font>"; } ?>
3、モード修飾子 x。
コードは次のとおりです。<?php $pattern = '/a c/x'; $string = 'a c'; if (preg_match($pattern, $string, $arr)) { echo "正则表达式<b>{$pattern}</b>和字符串<b>{$string}</b>匹配成功<br>"; print_r($arr); } else { echo "<font color='red'>正则表达式{$pattern}和字符串{$string}匹配失败</font>"; } ?>
4、モード修飾子 A。
コードは次のとおりです。<?php $pattern = '/ac/A'; $string = 'acahgyghvbm'; if (preg_match($pattern, $string, $arr)) { echo "正则表达式<b>{$pattern}</b>和字符串<b>{$string}</b>匹配成功<br>"; print_r($arr); } else { echo "<font color='red'>正则表达式{$pattern}和字符串{$string}匹配失败</font>"; } ?>
5、モード修飾子 U。
このパターン修飾子は非常に重要です! 正規表現では、それ自体が「貪欲」です。それでは、貪欲モードとは何ですか? 貪欲モードとは、デフォルトで、正規表現が最初の一致を見つけた後、引き続きその後の一致を試行することを意味します。一致が見つかった場合は、最大範囲の文字列と一致します。ただし、これが望ましい結果ではない場合があるため、貪欲モードをキャンセルする必要があります。 まず貪欲モードの例を見てみましょう: コードは次のとおりです:<?php $pattern = '/<b>.*<\/b>/'; $string = '<b>welcome</b> <b>to</b> <b>phpfuns</b>'; if (preg_match($pattern, $string, $arr)) { echo "正则表达式<b>{$pattern}</b>和字符串<b>{$string}</b>匹配成功<br>"; print_r($arr); } else { echo "<font color='red'>正则表达式{$pattern}和字符串{$string}匹配失败</font>"; } ?>
貪欲モードをキャンセルする
パターン修飾子 U とメタキャラクター ? を使用して、2 つの方法で正規表現の貪欲モードをキャンセルできます。 モード修飾子 U は貪欲モードをキャンセルします コードは次のとおりです:<?php $pattern = '/<b>.*<\/b>/U'; $string = '<b>welcome</b> <b>to</b> <b>phpfuns</b>'; if (preg_match($pattern, $string, $arr)) { echo "正则表达式<b>{$pattern}</b>和字符串<b>{$string}</b>匹配成功<br>"; print_r($arr); } else { echo "<font color='red'>正则表达式{$pattern}和字符串{$string}匹配失败</font>"; } ?>
Metacharacter? 貪欲モードをキャンセルします
コードは次のとおりです:は次のとおりです:<?php $pattern = '/<b>.*?<\/b>/'; $string = '<b>welcome</b> <b>to</b> <b>phpfuns</b>dsadsadas'; if (preg_match($pattern, $string, $arr)) { echo "正则表达式<b>{$pattern}</b>和字符串<b>{$string}</b>匹配成功<br>"; print_r($arr); } else { echo "<font color='red'>正则表达式{$pattern}和字符串{$string}匹配失败</font>"; } ?>
以上が正規表現におけるパターン修飾子の役割の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。