簡體   English   中英

如何在正則表達式模式中包含某些字符?

[英]How to include certain character in a regex pattern?

我需要一點幫助。 這是我第一次使用正則表達式。

所以,我想確保用戶只能輸入一個數字和兩個其他字符 - period . 和一個逗號,

每當用戶輸入一個帶有像100A1這樣的字母的數字時,它就會輸出“錯誤的輸出”,這很好,這就是我想要的。 但是,如果用戶輸入12.1010,00010,000.50 ,程序也會輸出“錯誤輸出”。

我沒有正確使用 Pattern.matches() 語法。 如果你能幫助我,我將不勝感激。 謝謝你。

if (!Pattern.matches("[0-9]+", stringUserInput)) {
    System.out.println("Wrong input");
}

這個正則表達式應該可以工作:

\\b[0-9,.]+\\b


在哪里:

\\b - 字邊界

[...]+ - 匹配方括號中的任何字符 1 次或多次

0-9 - 數字 0 到 9

, - 逗號

. - 時期


當我開始學習正則表達式時,我使用https://regexr.com/進行實驗。 它有一個有用的功能,可以解釋您的正則表達式正在做什么。

希望這會有所幫助!

編輯:如果您使用 Java 編寫,則可能需要轉義反斜杠字符。 所以最終結果應該是: \\\\b[0-9,.]+\\\\b

暫無
暫無

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

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