我对此任务的问题是:
如果名称和数字之间有:
或/
,那么 CAN 就是空白的bevore,并且在符号
如果没有符号,必须是名称和数字之间的空格。
到目前为止,我来到这里:
^\s*[^/:\d]*\s*?[/:]?\s*([0-9]{6,10})\s*$
但是匹配Name1234567
错误。这应该是错的,但这是真的。 (必须有空格)
1234567
,Name 1234567
或Name/1234567
一切都很完美。但是,我无法完成一项具体任务。
希望有人可以解决这个问题。 格尔茨
答案 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+
匹配任意数量的数字