正则表达式匹配三组数字

时间:2015-08-17 18:36:20

标签: java regex

如何创建正则表达式以匹配看起来像

的字符串
7440-44-0

其中每个组由数字组成,组由连字符分隔,第二组(44)正好是两个字符长,最后一组(0)恰好是一个字符长?

这是我尝试过的,但我还在学习正则表达式。

Pattern.compile("[.\\d]-[\\d]{2}-[\\d]{1}")

3 个答案:

答案 0 :(得分:5)

\d+-\d{2}-\d$
  1. \d+ - 一个或多个数字
  2. \d{2} - 两位数
  3. \d - 数字
  4. - - 匹配短划线
  5. $ - 在字符串
  6. 的末尾

    java转义版本:

    \\d+-\\d{2}-\\d$
    

答案 1 :(得分:1)

^(\\d+)-(\\d{2})-(\\d)$

添加锚点以停止部分匹配。使用组。参见演示。

https://regex101.com/r/uF4oY4/54

答案 2 :(得分:0)

^ \ d {4} - \ d {2} - \ d $或" ^ \ d {4} - \ d {2} - \ d $"作为java字符串