1

タグの例の後に 2 つのスラッシュで始まるすべての文字を検索したい<body>:-

http://www
// this is first comment
<body>
<div>
// this is comment
<p>//this is another comment.

だから私は両方を一致させたい:

// this is comment.
//this is another comment.

だがしかし:

//www
// this is first comment

これは単なる例であり、数字や括弧も含まれる場合があります。言語phpは正規表現が欲しいだけです

4

2 に答える 2

4

次の PHP コードを使用できます。

$html = <<< EOF
http://www
// this is first comment
<body>
<div>
// this is comment
<p>//this is another comment.
EOF;

解決策 1: 否定的な先読みを使用する

if (preg_match_all('~//(?!.*?<body>)[^\n]*~is', $html, $arr))
   print_r($arr);

解決策 2: 先読みなし

$html = preg_replace('#^.*?<body>#is', '', $html);
if (preg_match_all('~//[^\n]*~', $html, $arr))
   print_r($arr);

出力:

Array
(
    [0] => Array
        (
            [0] => // this is comment
            [1] => //this is another comment.
        )

)
于 2012-08-18T17:38:20.827 に答える
1

あなたはこのパターンでそれを行うことができます:

(?<!http:)\/\/(\s?[\w\.])+

于 2012-08-18T17:23:02.433 に答える