簡體   English   中英

Java正則表達式和.matches()

[英]Java regex and .matches()

我正在嘗試將String與Java中的正則表達式進行匹配。

如果我定義正則表達式以匹配這樣的數字:

private static final String NUMERIC_CHARS = "[0-9]";

下面的行返回false,其中test = 12345678

test.matches(NUMERIC_CHARS);

我期望這是真的。 根據oracle docs,matches()返回“僅當整個區域序列匹配此匹配器的模式時才為true”。 這里不是這種情況嗎? 在此先感謝您的幫助。

您缺少錨點+ (匹配超過1個數字),因此請使用此正則表達式:

"[0-9]+"

您的Java代碼:

private static final String NUMERIC_CHARS = "[0-9]+";

您當前的正則表達式只允許輸入1位數字。 對其進行如下修改:

private static final String NUMERIC_CHARS = "^[0-9]+$";

然后它將評估為true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM