今回は正規表現のv要素文字を図で詳しく説明します。実際のケースを見てみましょう。
次の表には、正規表現のコンテキストにおけるメタキャラクターとその動作の完全なリストが含まれています:
文字 | 説明 |
---|---|
次の文字を特殊文字としてマークする、またはリテラル文字、後方参照、または 8 進エスケープ文字。たとえば、「n」は文字「n」と一致します。 「n」は改行文字に一致します。シーケンス「\」は「」に一致し、「(」は「(」に一致します。 |
|
^ | は、入力文字文字列の開始位置と一致します。 RegExp オブジェクトの Multiline プロパティが設定されている場合、^ は 'n' または 'r' の後の位置にも一致します。 |
$ | 入力文字列の終了位置と一致します。 RegExp オブジェクトの Multiline プロパティが設定されている場合、$ は 'n' または 'r' の前の位置にも一致します。 |
* | 直前の部分式と 0 回以上一致します。たとえば、zo* は「z」と「zoo」に一致します。 * {0,} に相当します。 |
+ | は、前の部分式と 1 回以上一致します。たとえば、「zo+」は「zo」と「zoo」には一致しますが、「z」には一致しません。 + は {1,} と同等です。 |
? | 直前の部分式と 0 回または 1 回一致します。たとえば、「do(es)?」は「do」または「does」と一致します。 ? {0,1} に相当します。 |
{n} | n は負ではない整数です。特定の回数 n 回一致します。たとえば、「o{2}」は「Bob」の「o」とは一致しませんが、「food」の両方の「o」には一致します。 |
{n,} | n は負ではない整数です。少なくとも n 回一致します。たとえば、「o{2,}」は「Bob」の「o」とは一致しませんが、「foooood」のすべての「o」には一致します。 「o{1,}」は「o+」と同等です。 「o{0,}」は「o*」と同等です。 |
{n,m} | m と n は両方とも非負の整数であり、n |
? | 文字が他のリミッター (*、+、?、{n}、{n,}、{n,m}) のすぐ後に続く場合、一致パターンは非貪欲です。非貪欲モードは検索文字列の可能な限り少ない部分と一致しますが、デフォルトの貪欲モードは検索文字列の可能な限り多くの部分と一致します。たとえば、文字列「oooo」の場合、「o+?」は単一の「o」に一致しますが、「o+」はすべての「o」に一致します。 |
. | は、改行文字 (n、r) を除く任意の 1 文字と一致します。 「n」を含む任意の文字と一致するには、「(.|n)」のようなパターンを使用します。 |
(pattern) | は pattern に一致し、この一致を取得します。取得された一致は、VBScript の SubMatches コレクションまたは JScript の $0 ~ $9 プロパティを使用して、生成された Matches コレクションから取得できます。括弧文字と一致させるには、「(」または「)」を使用します。 |
(?:pattern) | はパターンに一致しますが、一致結果を取得しません。つまり、一致を取得できず、後で使用するために保存されません。これは、「または」文字 (|) を使用してパターンの一部を結合する場合に便利です。たとえば、「industr(?:y|ies)」は「industry|industries」より短い式です。 |
(?=pattern) | 先読み肯定アサート、文字列一致パターンの先頭にある検索文字列と一致します。これは非フェッチ一致です。つまり、後で使用するために一致をフェッチする必要はありません。たとえば、「Windows(?=95|98|NT|2000)」は、「Windows2000」の「Windows」と一致しますが、「Windows3.1」の「Windows」と一致することはできません。プリフェッチでは文字は消費されません。つまり、一致が発生した後、次の一致の検索は、プリフェッチを含む文字の後に開始されるのではなく、最後の一致の直後に開始されます。 |
(?!pattern) | 正負のアサーション (負のアサート) は、パターンに一致しない文字列の先頭にある検索文字列に一致します。これは非フェッチ一致です。つまり、後で使用するために一致をフェッチする必要はありません。たとえば、「Windows(?!95|98|NT|2000)」は、「Windows3.1」の「Windows」と一致しますが、「Windows2000」の「Windows」と一致することはできません。プリフェッチでは文字は消費されません。つまり、一致が発生した後、次の一致の検索は、プリフェッチを含む文字の後に開始されるのではなく、最後の一致の直後に開始されます。 |
(?<=パターン) | 逆 (後ろを見る) 正のルックアップは、正の順ルックアップと似ていますが、方向が逆です。たとえば、「<span style="color:#333333;font-size:12px;font-family:NSimsun">(?<=95|98|NT|2000)Windows</span> 「一致可能」<span style="color:#333333;font-size:12px;font-family:NSimsun">2000Windows</span> "中"<span style="color:#333333;font-size:12px;font-family:NSimsun">Windows</span> " と一致しません" "<code style="、<span style=" color:>3.1Windows " の境界線-トップ: 0px; ボーダー下: 0px; パディング左: 0px; "><span style="color:#333333;font-size:12px;font-family:NSimsun">Windows</span>"。 <span style="color:#333333;font-size:12px;font-family:NSimsun">(?<=95|98|NT|2000)Windows</span> "能匹配"<span style="color:#333333;font-size:12px;font-family:NSimsun">2000Windows</span> "中的"<span style="color:#333333;font-size:12px;font-family:NSimsun">Windows</span> ",但不能匹配"<span style="color:#333333;font-size:12px;font-family:NSimsun">3.1Windows</span> "中的"<span style="color:#333333;font-size:12px;font-family:NSimsun">Windows</span> "。 |
(? | 反向否定预查,与正向否定预查类似,只是方向相反。例如"<span style="color:#333333;font-size:12px;font-family:NSimsun">(?<!95|98|NT|2000)Windows</span> "能匹配"<span style="color:#333333;font-size:12px;font-family:NSimsun">3.1Windows</span> "中的"<span style="color:#333333;font-size:12px;font-family:NSimsun">Windows</span> ",但不能匹配"<span style="color:#333333;font-size:12px;font-family:NSimsun">2000Windows</span> "中的"<span style="color:#333333;font-size:12px;font-family:NSimsun">Windows</span> 🎜 |
x|y | は、x または y と一致します。たとえば、「z|food」は「z」または「food」と一致します。 '(z|f)ood' は、「zood」または「food」と一致します。 |
[xyz] | キャラクターコレクション。含まれている文字のいずれかと一致します。たとえば、「[abc]」は「plain」の「a」と一致します。 |
[^xyz] | ネガティブなキャラクターのコレクション。含まれていない任意の文字と一致します。たとえば、「[^abc]」は「plain」の「p」、「l」、「i」、「n」に一致します。 |
[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 に相当します。 |
s | スペース、タブ、フォーム フィードなどを含む任意の空白文字と一致します。 【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 是一个用四个十六进制数字表示的 Unicode 字符。例如, \u00A9 匹配版权符号 (?)。 |
\v元字符可以匹配垂直制表符。
语法结构:
(1).构造函数方式:
new RegExp(\\v)
(2).对象直接量方式:
/\v/
浏览器支持:
(1).IE浏览器支持此方法。
(2).火狐浏览器支持此方法。
(3).谷歌浏览器支持此方法。
(4).opera浏览器支持此方法。
(5).safria浏览器支持此方法。
实例代码:
var str="This is an \v good antzone"; var reg=/\v/;
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
以上が正規表現の v メタキャラクターの詳細な図による説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。