2011-01-28 12 views

答えて

2

=の前のスラッシュ(およびその式のスラッシュ)をエスケープします。区切り文字として/を使用します。したがって、パターン内で発生する場合は、エスケープする必要があります。

"/[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/" 

が動作するはずです。

3

パターンの開始と終了をマークするデリミタとして/を使用しましたが、パターン内でその文字も使用しました。異なる区切り文字を使用するか、パターン内でその区切り文字をインスタンスからエスケープする必要があります。あなたが等号を逃れることを意図していたなら、間違ったスラッシュを使いました。

1

区切り文字として/を使用しています。正規表現にエスケープされない2つの/があります。 \/としてそれらをエスケープ:

"/[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/" 
       ^^        ^^ 
+0

+1文字列の下のポインタ –

関連する問題