2011-05-08 179 views
1

我有一个包含需要找到并替换以下类型的字符串的文本块:如何用Regex解决这个问题?

结构

  • 1字母:A或S
  • 随后6个数字
  • 其次用破折号( - )
  • 随后一个或两个数字

实例

  • A123456-34
  • A123456-2
  • S123456-11

我是一个完整的noob(第三次),以正则表达式和遇到问题搞清楚了这一点。

+5

如何愤怒的黑客不能这样做呢? :) – 2011-05-08 16:42:08

回答

2

下面的表达式应该为你工作:

(([AS])(\d{6})-(\d{1,2})) 
+4

或'(A | S)\ d {6} - \ d {1,2}'如果对组不感兴趣。 – 2011-05-08 16:43:49

4
[AS]  # 1 Letter, A or S 
[0-9]{6} # 6 digits 
-   # dash 
[0-9]{1,2} # 1 or two digits