メールアドレスの照合を試みますが、先頭に「mailto:」が付いていない場合のみです。私はこの正規表現を試します:
"/(?<!mailto:)[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})/"
この文字列に対して:
'<a href="mailto:someemail@domain.com">EMAIL</a> ... otheremail@domain.com '
私はキャッチだけを期待して'otheremail@domain.com'
いますが、私はまた、'omeemail@domain.com'
行方不明を参照してください's'
。ここで何が問題なのだろうか。後読みアサーションの後に通常の正規表現を使用できませんか?
PHP での私の例全体は次のようになります。
$testString = '<a href="mailto:someemail@domain.com">EMAIL</a> ... otheremail@domain.com ';
$pattern = "/(?<!mailto:)[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})/";
preg_match_all($pattern, $testString, $matches);
echo('<pre>');print_r($matches);echo('</pre>');
ありがとうございました!