1

次のいずれかの形式の「domain.com」メール アドレスを検出する単純な正規表現があります。

user@domain.com
user.one@domain.com
user_one@domain.com
user-one@domain.com

私のためにこれを機能させる正規表現は次のように書かれています:

\b([a-z0-9_\.-]+)@domain.com

この式は、上記のいずれかの最初の出現を検出して一致させます。

ただし、正規表現が一致するのは、たとえば、10回の出現が検出された後だけにしたいと思います。

たとえば、ユーザーが 5 つの電子メール アドレスを含むドキュメントを送信するとします。このシナリオでは、式はドキュメントを無視する必要があります。ただし、ユーザーが文書内に 10 個以上の電子メール アドレスを含む文書を送信した場合、式はこれを検出する必要があります。

{10,} 量指定子を使用して無数の可能な解決策を試しました。そのうちのいくつかはこのサイトから取得した例ですが、原因となっている式をグループ化する方法に関係があると考えています失敗する。

どうぞよろしくお願いいたします。

4

3 に答える 3

0

次の正規表現を使用できます。

(?:[^@]+@\S+){10}\s+([\w.-]+)(?=@domain\.com)

後方参照 # 1 にアクセスすると、正確に 10 回出現した後に電子メール名の部分が表示されます。

于 2013-10-22T09:34:24.570 に答える
0

((yourregexp).*){10,}2 つの電子メール アドレスの間に任意の文字が含まれる可能性がある場合に使用します。

((\b([a-z0-9_\.-]+)@domain.com).*){10}
于 2013-10-22T09:34:26.710 に答える
0

一致した各ドメインに対してカウンターを使用し、少なくとも 10 回一致した場合にのみドメインを含めることができます。

于 2013-10-22T09:12:53.200 に答える