用于匹配名称后跟数字的正则表达式

时间:2014-11-03 15:30:48

标签: regex

我对此任务的问题是:

  • 如果名称和数字之间有:/,那么 CAN 就是空白的bevore,并且在符号

    之后
  • 如果没有符号,必须是名称和数字之间的空格。

到目前为止,我来到这里:

^\s*[^/:\d]*\s*?[/:]?\s*([0-9]{6,10})\s*$

但是匹配Name1234567错误。这应该是错的,但这是真的。 (必须有空格)

1234567Name 1234567Name/1234567一切都很完美。但是,我无法完成一项具体任务。

希望有人可以解决这个问题。 格尔茨

1 个答案:

答案 0 :(得分:0)

怎么样

[a-zA-Z]*(?:\s|(?:\s?[:\/]\s?))\d+

例如http://regex101.com/r/dD3lP4/1

如何匹配

[a-zA-Z]*匹配任意数量的字母

(?:\s|(?:\s?[:\/]\s?))匹配空格\s\s?[:\/]\s?空格,后跟:/,后跟空格\ s。量化?使\s出现为零或一(可以包含在问题中)

\d+匹配任意数量的数字