簡體   English   中英

java.matches-method中的正則表達式模式

[英]regex pattern in java.matches-method

我需要獲取以下數字序列的正則表達式模式:

X.XXX.XXX-X 

每個X是一個數字。

我已經嘗試過:

pattern: `partnerNumberOnFirstPage = "*.*.*-*"`

if (stringContent.matches(partnerNumberOnFirstPage)){
    return true;
} else {
    return false;
}

我怎樣才能做到這一點? 而且我執行正確嗎? 我不想使用*因為我需要確切的數字數量。

怎么樣:

^\d\.\d\d\d\.\d\d\d-\d$

我不確定,但我認為您必須在Java中加倍轉義,所以:

^\\d\\.\\d{3}\\.\\d{3}-\\d$

很多方法:

\d\.\d{3}\.\d{3}-\d

要么

\d(?:\.\d{3}){2}-\d
^\\d\\.\\d{3}\\.\\d{3}-\\d$
  • ^匹配字符串的開頭
  • $匹配字符串的結尾
  • \\\\ Java需要兩次轉義(對於\\ d和。)
  • \\ d匹配任何單個數字(0-9)
  • {X}表示前面的模式塊必須出現X次,{X,Y}如果您很靈活也可以使用

是的,您的實現看起來很棒!

另請注意,如果需要在字符串中的任何位置進行匹配,則可以刪除開始/結束標簽。

暫無
暫無

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

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