匹配帐号的正则表达式

时间:2016-01-04 09:34:42

标签: regex

我需要匹配大型文本文件中的帐号。帐号将采用以下格式:

  
      
  1. 帐号:123456
  2.   
  3. Acct 4567
  4.   
  5. 帐号:123-456-789
  6.   
  7. 帐号134-456-789
  8.   
  9. 帐号111111
  10.   

我需要一个正则表达式,它检查以“Acc”开头的每一行,忽略空格和任何特殊字符,然后以数字结尾。

我写了以下正则表达式。问题是它匹配了一些帐号变体。例如,它匹配#1和#2,但不匹配#3和#4。 帐号没有固定长度,正如您所看到的,字符串有不同的变体"帐号"

非常感谢任何关于微调的帮助或建议。

(Acc[^0-9]*[0-9]*)

1 个答案:

答案 0 :(得分:5)

这是一个更精确的正则表达式:

^Acc(?:oun)?t(?:\s+Number)?.+[\d-]+$

Regular expression visualization

DEMO:https://regex101.com/r/bM5yB2/4