ホームページ > Java > &#&チュートリアル > Java の String.matches() で正規表現が機能しないのはなぜですか?

Java の String.matches() で正規表現が機能しないのはなぜですか?

Susan Sarandon
リリース: 2024-11-29 17:49:14
オリジナル
315 人が閲覧しました

Why Doesn't My Regex Work in Java's String.matches()?

正規表現が String.matches() で機能しない

質問:

Aユーザーは小文字のみを含む文字列と一致するコード スニペットを作成しました文字:

String[] words = {"{apf","hum_","dkoe","12f"};
for(String s:words)
{
    if(s.matches("[a-z]"))
    {
        System.out.println(s);
    }
}
ログイン後にコピー

ただし、出力として "dkoe" が期待されているにもかかわらず、コードは何も出力しません。

答え:

逆その名のとおり、Java の String.matches() メソッドは、入力文字列全体を正規表現と照合します。文字列の一部のみを一致させるには、代わりにパターンとマッチャーを使用します:

Pattern p = Pattern.compile("[a-z]+");
Matcher m = p.matcher(inputString);
if (m.find())
    // match
ログイン後にコピー

または、文字列全体を一致させたい場合は、matches() メソッドの文字クラスに を追加します:

if(s.matches("[a-z]+"))
ログイン後にコピー

または完全な正規表現パターンを使用します:

if(s.matches("^[a-z]+$"))
ログイン後にコピー

これは小文字のみを含む文字列と一致します^ アンカーと $ アンカーにより、入力文字列全体が一致することが保証されます。

以上がJava の String.matches() で正規表現が機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート