2015-04-01 52 views
0

输入的字符串必须是格式"477xx",其中x可能0匹配477xx - 9或空格,且长度缪斯是5.我想用一个正则表达式找到以下的目标。如何使用正则表达式

["477 ", "4770 ", "4771 ", "4781 "] 

我该怎么办?这是我粗略的想法:"477[0,1,8,9]?"

+0

因此,例如'477 1'(用''内)应匹配? – 2015-04-01 11:07:38

回答

6

您可以使用以下正则表达式:

^477[0-9\s]{2}$ 

记住,“4781”是不匹配的,因为它不以“477”开头。

这里是demo

而且在Tutorialspoint的示例代码:

p = re.compile(ur'^477[0-9\s]{2}$', re.MULTILINE) 
test_str = u"477 \n4770 \n4771 \n4781 " 
arr = re.findall(p, test_str) 
print arr 
+1

演示非常精彩 – Finwood 2015-04-01 11:11:37