入力に大文字、数字、および正規表現のピリオドのみが含まれているかどうかを確認しようとしています。 Javaの正規表現のパターンは何でしょうか?大文字、数字、およびピリオドを一致させる正規表現
私はこの正規表現を、どのようなオンラインツールでも構築する方法に関するガイドはありますか?
また、正規表現を使用して文字列の長さが50以下であることを確認することは可能ですか?
入力に大文字、数字、および正規表現のピリオドのみが含まれているかどうかを確認しようとしています。 Javaの正規表現のパターンは何でしょうか?大文字、数字、およびピリオドを一致させる正規表現
私はこの正規表現を、どのようなオンラインツールでも構築する方法に関するガイドはありますか?
また、正規表現を使用して文字列の長さが50以下であることを確認することは可能ですか?
を好むこれはUnicodeの答えです:
^[\p{Lu}\p{Nd}.]{0,50}$
から
\ p {Lu}または\ p {Uppercase_Letter}:小文字のバリアントを持つ大文字。
\ p {Nd}または\ p {Decimal_Digit_Number}:表意文字のスクリプトを除くすべてのスクリプトの0〜9の数字。
^
と$
開始され、文字列の末尾が
正規表現パターン:
Pattern.compile("^.{0,50}$")
両方合成:
Pattern.compile("^[A-Z\\d.]{0,50}$")
Pattern.compile("^[A-Z\\d.]*$")
は、文字列の長さをチェックします私があなたの場合は長さをチェックするために正規表現を使用しませんが、文字列に.length()
と呼んでください。
これは、文字列の場合はtrueを返します。数字、大文字、またはドットの50文字のみが含まれます。
string.matches("[0-9A-Z\\.]{0,50}")
あなたの正規表現の終わりでは、*部分文字列*があなたの正規表現のパターンと一致する文字列がほしいと言っています。 – JayC
いいえ、それは必要ではありません。サブストリング( "CAPITAL")が一致しても、このステートメントは "nonCAPITAL"に対してfalseを返します。 –
シュート、申し訳ありません。言語にもう少し注意を払う必要がありました(Java、私はしばらくの間混乱していません)。私が知っているほとんどの言語は、正規表現に対して "テスト"することができますが、それはもちろん、あなたをめちゃくちゃにする部分文字列と一致する可能性があります。これは、Java.matches関数の場合とは異なります。 – JayC
Thisウェブサイトはそれを追加し、いくつかの定義済みの文字クラスで、単純な構文に来るとき、Javaで
正規表現は他の言語と多くの共通点を持っている建物とテストと正規表現のために本当に便利ですあなたがPerlで見つけた以上のものがあります。 Java API docs on Patternは、サポートされているさまざまなパターンを示しています。 Javaでregexesを紹介するのはhttp://www.regular-expressions.info/java.htmlです。
グーグルでは、入力文字列に対してJavaの正規表現をテストするためのツールがオンラインで数多く公開されていることを示しています。 Here is one。
興味のある入力の種類を確認するには、次の正規表現は動作するはずです:
内訳^[A-Z0-9.]{,50}$
、これは言っている:
^
:開始からのマッチングを開始します入力;
[]
をスキップする最初の文字(複数可)を許可しない:この範囲
A-Z
内の文字のいずれかに一致:範囲内、-
は包括最初と最後の文字の間のすべての値を受け入れることを意味し、この場合、AからZまでのすべての文字です。
0-9
:前の範囲にすべての桁
.
を追加します。期間は、正規表現で特別ですが、すべての特殊文字は([]
)文字クラス内で再び
{,50}
シンプルになる:必要(または0)定義された文字クラスの最大50文字に一致します。
$
:一致が入力の最後に到達する必要があります。最後の文字(複数可)は、応答あなたが使用できるツールには
'$'は、行終端記号の場合に最後の文字をスキップすることを許可します。 '\ z'は入力の終わりと一致します。 –
をスキップすることはできません、私はRegex Coach
大文字は[\。] [AZ]、数字[0-9]の期間になります(エスケープする必要があります)すなわちから、10-あなたのキャラクタの組み合わせに合わせて、長さが10から50文字(51ではなく)の50文字が{10 .50} {10 .50}であることを確認してください。 –