英数字と1つの特殊文字のみを含むことができる文字列の検証を行います。私は(\\W).{1,1}(\\w+)
で試しました。Java文字列の検証はRegexで1つの英数字に限定
しかし、それは私が特殊文字で始まるときだけです。しかし、私はStringのどこにいても1つの特殊文字を持つことができます。
英数字と1つの特殊文字のみを含むことができる文字列の検証を行います。私は(\\W).{1,1}(\\w+)
で試しました。Java文字列の検証はRegexで1つの英数字に限定
しかし、それは私が特殊文字で始まるときだけです。しかし、私はStringのどこにいても1つの特殊文字を持つことができます。
使用matcher.find()
なくmatcher.match()
と\\w
を検索し、削除し、プラス(+)それはあなたのstring.Ifにすべての英数字列にマッチしますので、あなたの文字列にのみ、それらを含んで、あなたの正規表現は、文字列全体にマッチします。
ので、あなたの正規表現を取って、文字列の先頭からマッチングを開始し、文字列の末尾に一致停止する正規表現エンジンを指示する^
と$
アンカーを使用します。
^(\\W).{1,1}(\\w+)$
てくださいthis正規表現に関するOracle(Java)チュートリアルを参照してください。
は、この正規表現を試してみてください:\w*\W?\w*
(Java文字列:"\\w*\\W?\\w*"
)
この式は、長さゼロの文字列にマッチするという欠点があります。 の入力にという特殊文字が1つしかない場合は、疑問符?
を式から削除します。
私が正しくあなたの正規表現を理解していれば、これはあなたの問題を解決することができます:
([\w]+)([^\w])([\w]+)
私はアルファベット文字と1つの特殊文字だけができる文字列が好きです。例えば。有効:abc!無効:abdc @ y! –
が一致しなければならない例といけない他人をご提示ください。 – shift66