ホームページ >バックエンド開発 >PHPチュートリアル >phpの通常のルール
php の通常のルール
PHP 正規表現の使い方の詳しい説明
演算子の説明
エスケープ文字
()、(?:)、(?=)、[] 括弧と角括弧
*、+ 、? 、{n}、{n,}、{n,m} 修飾子
^、$、任意のメタ文字 位置と順序
| “OR”演算
すべての記号の説明
文字の説明
マーク次の文字は、特殊文字、リテラル文字、後方参照、または 8 進エスケープ文字として使用されます。たとえば、「n」は文字「n」と一致します。 「n」は改行文字に一致します。シーケンス '\' は "" に一致し、"(" は "(" に一致します。
^ は入力文字列の先頭に一致します。 RegExp オブジェクトの Multiline プロパティが設定されている場合、^ は 'n' にも一致します。
$ の後の 'r ' は、入力文字列の末尾と一致します。 RegExp オブジェクトの Multiline プロパティが設定されている場合、$ は、前の部分式 0 と一致します。たとえば、zo* は「z」と「zoo」に一致します。 * {0,} + は前の部分式に 1 回一致します。たとえば、「zo+」は「zo」と「」に一致します。 「z」ではなく、「zoo」です。 + は {1,} と同等です ? 先行する部分式と 0 回または 1 回一致します。たとえば、「do(es)?」は「do」または「does」の「do」と一致します。 . {0,1} と同等 {n} n は負ではない値です。たとえば、「o{2}」は「Bob」の「o」と一致します。 「food」{n,} の 2 つの o と一致します。 n は負ではない整数です。たとえば、「o{2,}」は「Bob」の「o」と一致します。 「foooood」のすべての「o{1,}」に一致します。「o+」と同等です。「o{0,}」は、「o*」と同等です。m と n は両方とも非負の整数です。 n
(パターン) はパターンに一致し、VBScript の SubMatches コレクションを使用して、この一致を取得します。 $9 属性が使用されます。括弧文字と一致させるには、「(」または「)」を使用します。
(?:pattern) はパターンに一致しますが、一致結果は取得されません。これは、非取得一致であり、後で使用するために保存されないことを意味します。これは、「または」文字 (|) を使用してパターンの一部を結合する場合に便利です。たとえば、「industr(?:y|ies)」は「industry|industries」より短い式です。
(?=パターン) 前方参照。文字列一致パターンの先頭にある検索文字列と一致します。これは非フェッチ一致です。つまり、後で使用するために一致をフェッチする必要はありません。たとえば、「Windows (?=95|98|NT|2000)」は、「Windows 2000」の「Windows」には一致しますが、「Windows 3.1」の「Windows」には一致しません。プリフェッチでは文字は消費されません。つまり、一致が発生した後、次の一致の検索は、プリフェッチを含む文字の後に開始されるのではなく、最後の一致の直後に開始されます。
(?!pattern) 否定検索。パターンに一致しない文字列の先頭にある検索文字列と一致します。これは非フェッチ一致です。つまり、後で使用するために一致をフェッチする必要はありません。たとえば、「Windows (?!95|98|NT|2000)」は、「Windows 3.1」の「Windows」と一致しますが、「Windows 2000」の「Windows」とは一致しません。プリクエリは文字を消費しません。つまり、一致が発生した後、次の一致の検索は、プリクエリ
x|y を含む文字が x または y と一致した後ではなく、最後の一致の直後に開始されます。たとえば、「z|food」は「z」または「food」と一致します。 '(z|f)ood' は、「zood」または「food」と一致します。
[xyz] 文字セット。含まれている文字のいずれかと一致します。たとえば、「[abc]」は「plain」の「a」と一致します。
[^xyz] 負の文字セット。含まれていない任意の文字と一致します。たとえば、「[^abc]」は「plain」の「p」と一致します。
[a-z] 文字範囲。指定された範囲内の任意の文字と一致します。たとえば、「[a-z]」は、「a」から「z」までの範囲内の任意の小文字のアルファベット文字と一致します。
[^a-z] 負の文字範囲。指定された範囲内にない任意の文字と一致します。たとえば、「[^a-z]」は、「a」から「z」の範囲にない任意の文字と一致します。
b は、単語とスペースの間の位置を指す単語境界に一致します。たとえば、「erb」は「never」の「er」と一致しますが、「verb」の「er」とは一致しません。
B は単語以外の境界に一致します。 「erB」は「動詞」の「er」と一致しますが、「never」の「er」とは一致しません。
cx は、x で指定された制御文字と一致します。たとえば、cM は Control-M または復帰文字と一致します。 x の値は、A ~ Z または a ~ z のいずれかでなければなりません。それ以外の場合、c はリテラルの「c」文字として扱われます。
d は数字と一致します。 [0-9]に相当します。
D は数字以外の文字と一致します。 [^0-9] と同等。
f はフォーム フィードと一致します。 x0c および cL に相当します。
n は改行文字と一致します。 x0a および cJ に相当します。
r は復帰文字と一致します。 x0d および cM に相当します。
は、スペース、タブ、フォーム フィードなどを含む任意の空白文字と一致します。 【fnrtv】に相当。
S は空白以外の文字に一致します。 [^ fnrtv] に相当します。
t はタブ文字と一致します。 x09 および cI に相当します。
v は垂直タブ文字と一致します。 x0b および cK に相当します。
w は、アンダースコアを含む任意の単語文字に一致します。 「[A-Za-z0-9_]」と同等。
W は単語以外の文字に一致します。 「[^A-Za-z0-9_]」と同等。
xn は n と一致します。n は 16 進数のエスケープ値です。 16 進数のエスケープ値は、正確に 2 桁の長さである必要があります。たとえば、「x41」は「A」と一致します。 「x041」は「x04」および「1」と同等です。 ASCII エンコーディングは正規表現で使用できます。 .
num は num と一致します。ここで、num は正の整数です。取得した一致への参照。たとえば、「(.)1」は、連続する 2 つの同一の文字に一致します。
n は、8 進エスケープ値または後方参照を識別します。 n の前に少なくとも n 個のフェッチされた部分式がある場合、n は後方参照になります。それ以外の場合、n が 8 進数 (0 ~ 7) の場合、n は 8 進数のエスケープ値になります。
nm は、8 進エスケープ値または後方参照を識別します。 nm の前に少なくとも nm 個の取得可能な部分式がある場合、nm は後方参照になります。 nm の前に少なくとも n が取得されている場合、n は後方参照であり、その後にリテラル m が続きます。前述の条件がどちらも当てはまらず、n と m が両方とも 8 進数 (0 ~ 7) である場合、nm は 8 進数のエスケープ値 nm と一致します。
nml n が 8 進数 (0 ~ 3)、m と l が両方とも 8 進数 (0 ~ 7) の場合、8 進数のエスケープ値 nml と一致します。
un は n と一致します。n は 4 桁の 16 進数で表される Unicode 文字です。たとえば、u00A9 は著作権記号 (?) に一致します。
VBScript で正規表現を使用する方法:
function gfCheck(obj)
dim strCheck 'チェック対象の文字列
dim objRE '正規表現オブジェクト
dim strRtn '正規表現判定結果
strCheck = obj.value
set objRE = New RegExp
objRE.Pattern = "^[A-Za-z0-9]{13}$" '13 文字列英語の文字と数字の
gfCheck = objRE.Test(strCheck) '正規表現に一致する場合は true を返し、一致しない場合は false を返します
set objRE = nothing
end function
よく使用される正規表現
1. 負でない整数: "^d+$"
2. 正の整数: "^[0-9]*[1-9][0-9]*$"
3. 正でない整数: "^((-d+)|(0+))$"
4. 負の整数: "^-[0-9]*[1-9][0 -9]*$”
5. 整数: “^-?d+$”
6. 非負の浮動小数点数: “^d+(.d+)?$”
7. 正の浮動小数点数: "^((0-9)+.[0-9]*[1-9][0-9]*)|([0-9]*[1- 9][ 0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$”
8. 非正浮動小数点数:” ^((-d+.d+)?)|(0+(.0+)?))$”
9. 負の浮動小数点数:”^(-((正の浮動小数点数)ポイント番号の正規表現))) $”
10. 英語の文字列: “^[A-Za-z]+$”
11. 英語の大文字の文字列: “^[A-Z]+ $”
12. 英語の小文字文字列: "^[a-z]+$"
13. 英語の文字と数字の文字列: "^[A-Za-z0-9]+$"
14 、英数字と下線文字列: "^w+$"
15. 電子メール アドレス: "^[w-]+(.[w-]+)*@[w -]+(.[ w-]+)+$”
16、URL:”^[a-zA-Z]+://(w+(-w+)*)(.(w+(-w+)*))*(?s*)?$”