繁体   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