python中的正则表达式用于特殊字符

时间:2015-10-07 11:47:18

标签: python regex

我需要查找给定字符串是否采用此格式。

anystr3ing1 : somesrritn3g

以下是我的代码

prog = re.compile("([a-zA-Z0-9]\D)" + ":" + ([a-zA-Z0-9]\D)")

with open('data.txt','ru') as openfileobject:
  for line in openfileobject:
    if prog.match(line):
      print line

然而它没有给出任何输出

1 个答案:

答案 0 :(得分:3)

将正则表达式更改为:

[a-zA-Z0-9]+\s+:\s+[a-zA-Z0-9]+

您的问题是,您只匹配班级[a-zA-Z0-9]中的一个字符,后跟非数字字符,然后是“:”,后跟[a-zA-Z0-9]