2

文字列に少なくともA-Za-z0-9が含まれているかどうかを確認しようとしていますが、&は含まれていません。正規表現の経験は限られているので、簡単な部分から始めて、次のことを行いました。

.*[a-zA-Z0-9].*

ただし、これを&部分が含まれていないものと組み合わせると問題が発生します。私はの線に沿って考えていました^(?=.*[a-zA-Z0-9].*)(?![&()]).*が、それはうまくいかないようです。

どんな助けでもいただければ幸いです。

4

1 に答える 1

1

これが何を意味するのかはわかりませんが、次のような任意の文字列に一致する正規表現を次に示します。

  • 少なくとも1つの英数字が含まれています
  • &が含まれていません

この式により、文字列全体が常に一致し(^および$開始と終了)、一致する文字が「&」記号([^&]*セクション)にならないようにします。

^[^&]*[a-zA-Z0-9][^&]*$

ただし、1つの式に制限されていない場合は、コードで2つのチェックを実行する方が明確な場合があります。

また、\w正規表現でクラスを確認してください(ASCII以外の文字を許可する場合は、英数字をキャッチするためのより良い解決策になる可能性があります)。

于 2012-10-11T12:35:57.200 に答える