正規表現を理解する前に、一般的に使用される正規表現についての基本的な知識を習得する必要があります。覚えていない場合は、使用する必要があるときに調べることができます。 . 特殊な文字がいくつかあるので、正規表現でプレイする内容は特殊です。詳細については、詳細な説明をご覧ください。
preg_match_all 関数の具体的な手順については、PHP マニュアルを確認してください。この記事では、preg_match_all を使用して正規表現の効果をテストします。
サンプルコード:
コードをコピー コードは次のとおりです:
$html = '
jb51.net
インスタンス要件: 各 DIV 要素の ID と内容を取り出します (biuuu など)。 、biuuu_2、biuuu_3、jb51.net、jb51.net2、および jb51.net3 (一般的に使用される Web サイト取得メソッドの一部がこの方法で一致します)
分析: 文字列は基本的な HTML 要素であり、各 DIV 要素は ID に対応します。および content 、および独立しています。まず、jb51.net などの DIV 内の ID 値とコンテンツを抽出する方法を検討してから、他の同様の要素と照合します。 DIV から 2 つの値、つまり 2 つの一致する式を取り出す必要があります。最初の式は ID 値 (biuuu) と一致するために使用され、2 番目の式は ID の内容 (jb51. net)。式で一般的に使用される正規表現では括弧を使用します。その場合、前の要素は次の形式になります:
(jb51.net)
= "(式1)" > (式2)
上記の括弧を使用して、一致する必要がある領域を分割します。次のステップは、ID が文字、数字、またはアンダースコアであると推測し、これが基本になります。これは次のように括弧を使用して実現できます:
式 1: [a-zA-Z0-9_]+ (大文字と小文字、数字、アンダースコアを一致させることを意味します) 式 2 を一致させる方法。ID の内容は任意の文字にすることができますが、注意してください。 < または > 文字は一致できません。これら 2 つの文字を一致させると、後で使用されるすべての DIV が一致するため、これらの 2 文字で始まる要素は除外される必要があります。つまり、< 文字または > 文字は一致しません。以下の通り:
式 2: [^<>]+ (< と > 文字が一致しないことを示します) このようにして、一致する必要がある部分式は実現されますが、一致する必要がある式はmatched メソッドも必要です。次のようになります。
式: / '"(式 1)"'>(式 2)
/
エスケープする必要がある二重引用符 " と / に注意してください。エスケープ文字を使用し、最初の 2 つを置き換えます。 式を入力すると、
は次のようになります:
'"([a-z0-9_]+)"'>/([^ <>]+)
/
このようにして、各 DIV 要素の ID 値と内容に一致する正規表現が実装され、preg_match_all 関数を使用して次のようにテストされます:
コードをコピーします コードは次のとおりです:
$html = '
([^<>]+)
/',$html,$result);
var_dump($result ; ;div id="biuuu">jb51.net
" [1]=> string(33) "
jb51.net2
" [2]= > string(33) "
jb51.net3
} [1]=> 3) { [0]=> 文字列(5) "biuuu" [1]=> 文字列(7) "biuuu_3" } [2]=> (3) { [0]=> 文字列(8) "jb51.net" [1]=> 文字列(9) "jb51.net3" }
式は 3 つあり、各式の一致する値を表示し、配列形式で格納することで、各 DIV 要素の ID と内容を取り出すことができます。正規表現を使用するときに最も重要なことは、何が必要かを知り、要件に合わせてマッチングを実行し、明確なアイデアを持ち、preg_match_all 関数を適切に使用して出力デバッグを実行することです。これは非常に便利です。
http://www.bkjia.com/PHPjc/313682.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/313682.html技術記事正規表現を理解する前に、一般的に使用される正規表現についての基本的な知識を習得する必要があります。これらを覚えていれば、必要なときに調べることができます。特別なものがたくさんあります...