Type Stringの任意の長さのリストがあります。リスト内の各文字列要素が、スペースや特殊文字などを含まない英数字または数値であることを確認する必要があります- \ / _
。
受け入れられる文字列の例は次のとおりです。
J0hn-132ss/sda
Hdka349040r38yd
Hd(ersd)3r4y743-2\d3
123456789
許容できない文字列の例は次のとおりです。
Hello
Joe
King
など基本的に言葉はありません。
私は現在使用してstringInstance.matches("regex")
いますが、適切な式の書き方がよくわかりません
if (str.matches("^[a-zA-Z0-9_/-\\|]*$")) return true;
else return false;
true
このメソッドは、私が言及した形式に準拠していない単語に対して常に返されます。
私が英語で探している正規表現の説明は次のようになります。
任意の文字列。文字列には(a-zA-Z AND 0-9 AND特殊文字)
OR(0-9 AND特殊文字)
ORの文字が含まれます。 (0-9)
編集:私はうまくいく次の表現を思いついたが、それが不明瞭または複雑であるという点で悪いかもしれないと感じている。
表現:
(([\\pL\\pN\\pP]+[\\pN]+|[\\pN]+[\\pL\\pN\\pP]+)|([\\pN]+[\\pP]*)|([\\pN]+))+
私はこのウェブサイトを使用して私を助けました:http://xenon.stanford.edu/~xusch/regexp/analyzer.html
私はまだ正規表現に慣れていないことに注意してください