1

正規表現を使用して特定の文字セットのみを許可するように文字列を検証する必要があります。残念ながら、私はこれらの文字列の検証のためだけに正規表現を使用して立ち往生しています。

とにかく、次の文字のみを許可するように文字列を制限する必要があります: az と AZ と 0-9 とスペースと .,;:!=+-_

このために、次の式を作成しました。

[a-zA-Z0-9.,;:!=+-_\s]*

この式が機能しない理由がわかりません。これを使用している場合、次のテスト文字列により、次の結果が得られます。

<test> Valid 
$<test> Invalid 
test Valid 
<test>asdf</test> Invalid

文字列内の順序に関係なく、検証を特定の有効な文字のリストに制限する必要があるときに、これらの特殊文字の順序が考慮されているようです。

これが「<>」などの特殊文字を特定の順序でのみ許可している理由を誰かが明らかにすることはできますか?

4

1 に答える 1

3

アンカーとシールド記号を使用する-

^[a-zA-Z0-9.,;:!=+\-_\s]*$

于 2012-09-10T19:35:05.630 に答える