私はPHPを使用して、特定のテキストで電子メールアドレスを検索しています。 私の現在の正規表現は次のようになります。これは、CPUリソースを大量に消費しているテキスト内の電子メールを検索するための正規表現
'/([\w+\.]*\[email protected][\w+\.]*\w+[\w+\-\w+]*\.\w+)/is'
。特定のテキストに有効な電子メールを見つけるための最適化された低リソース(つまりCPU)RegExがありますか?
私はPHPを使用して、特定のテキストで電子メールアドレスを検索しています。 私の現在の正規表現は次のようになります。これは、CPUリソースを大量に消費しているテキスト内の電子メールを検索するための正規表現
'/([\w+\.]*\[email protected][\w+\.]*\w+[\w+\-\w+]*\.\w+)/is'
。特定のテキストに有効な電子メールを見つけるための最適化された低リソース(つまりCPU)RegExがありますか?
この
/[-\d\w\W][email protected][-\d\w.+_]+.\w{2,4}/
マッチしてみてください。
[email protected]
[email protected]
[email protected]
、等... http://regexr.com/
また、この正規表現はチェックしません。 –
これらの文字はありません! #$%& '* + -/=?^_ '{| }〜 –
は、http://stackoverflow.com/questions/2049502/what-characters-are-allowed-in-email-address – keziah
この
で試験を
/^[^@][email protected][a-z]+(\.[a-z]+)+$/
はあなたよりも優れています。
[email protected]
が成功した場合には、私の正規表現は、解決策を見つけるために14の手順を実行し:
のは、我々はこのメールをテストしたいとしましょう。
あなたのものは22 stepsです。
は、我々はこのメールをテストしたいとしましょう、一致しない場合は、次のとおりです。[email protected]
私の正規表現は、31個のステップを実行しと
ユアーズ(それがあるべきを失敗しました^
と$
デリミタで修正されます。それ以外の場合は、これが良いものとして一致します)292ステップを実行して失敗します。時には、パフォーマンス向上のために、いくつかの偽陽性をトレードオフ
正規表現をチェックするためにどのアプリケーションを使用していますか?あなたは私に教えてくれますか?私が間違っている場所を確認することもできます。 –
@Siddharthsharma:regex101.comを使用 – DonCallisto
ありがとう!!!!! –
が望ましい:
/[^ @]*@[^ ]*/
これは非常に高速である必要があります。それは[email protected]
のようなものにもマッチしますが、そのような構文は通常のテキストでは一般的ではありません。
[正規表現を使用して電子メールアドレスを検証する](http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-anemail-address) – RAnders00
の使用可能な複製@ RAnders00で言及された正規表現またはアトミックグループまたは所有量の限定子を使用する必要があります。そうでなければ、あまりにも多くのバックトラックを行います__(あなたの正規表現は間違っています)__ – rock321987
そのリンクを指してくれてありがとう@ RAnders00 .. –