私はこの正規表現を持っています:
>[^\>\s@]*@[^@\s]*\.[a-zA-Z]*<
を@
最初の記号にすることはできません。文字列は、およびで開始および終了する必要が>
あり<
ます。文字列に@
は、中央の前に非スペース、非>、および非@文字を含めることもでき、その後に非スペースおよび非@文字を続け、その後にドットと任意の数の文字を続けることができます。
つまり、有効な文字列は
>[email protected]<
そして
>@[email protected]<
有効ではありません
これらの文字列の場合
>@[email protected]<
>@abc.zx<
>@abc.zx<
@
最初のシンボルは一致しませんが、最初のシンボルとして持っているにもかかわらず、後の2つは一致します。どうして?どうすれば修正できますか?
https://www.regextester.com/を使用してテストしました
*
で[^\>\s@]*
あなたは文字セットの繰り返し0回を持つことができますので、その部分は、続いて、0回以上を繰り返していることを意味@
。で始まらないようにする場合は>@
、負の文字セットを1回以上一致させて+
、>
との間に何かが必ず来るようにし@
ます。また、脱出する必要はありません>
:
>[^>\s@]+@[^@\s]*\.[a-zA-Z]*<
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加