-1

これらのドメイン名を持つすべてのメールをテキストから取得する方法

[@yahoo.com, @google.com, @bla.net] 

1つの正規表現で

4

3 に答える 3

2

\b[a-zA-Z0-9._%-]+@(yahoo|google|bla)+.[a-zA-Z]{2,4}\b

また、正規表現を作成またはテストする場合は、Expressoをお勧めします。

于 2012-06-12T20:56:55.190 に答える
2
\b[^ ]+@(yahoo\.com|google\.com|bla\.net)\b

これは一致します:

ここに画像の説明を入力

PHPでは、これは次のようになります

preg_match_all('/\b[^@]*@(yahoo\.com|google\.com|bla\.net)\b/', $subject, $result, PREG_PATTERN_ORDER);
for ($i = 0; $i < count($result[0]); $i++) {
    # Matched text = $result[0][$i];
}
于 2012-06-12T20:53:42.777 に答える
2

これらのドメインを受け入れるように現在の正規表現を変更する方法は次のとおりです。

^[a-zA-Z0-9]+@(?:blabla\.com|google\.com|bla\.net)$

(?:...)これは、正規表現がリストしたドメインのいずれかを受け入れるように、交互に非キャプチャ グループを使用...|...します。

于 2012-06-12T20:54:12.473 に答える