使用正则表达式匹配Python中的特定模式

时间:2016-09-23 11:38:13

标签: python regex python-2.7

我正在尝试创建符合以下模式的正则表达式

注意 x是一个数字,例如2

模式:

u'id': u'x'                # x = Any Number e.g: u'id': u'2'

到目前为止,我已经尝试了以下内容:

Regex = re.findall(r"'(u'id':u\d)'", Data)

但是,没有找到匹配项。

3 个答案:

答案 0 :(得分:2)

此正则表达式将匹配您的模式:

u'id': u'(\d+)'

正则表达式的重要部分是:

  • 创建捕获组的括号()(这样您就可以获取信息
  • 数字标记\d,指定任何数字0 - 9
  • 多个标记+,表示“至少1”

测试了以下模式:

u'id': u'3'
u'id': u'20'
u'id': u'250'
u'id': u'6132838'

答案 1 :(得分:2)

您错放了单引号,您应该使用\d+而不只是\d

>>> s = "u'id': u'2'"
>>> re.findall(r"u'id'\s*:\s*u'\d+'", s)
["u'id': u'2'"]

答案 2 :(得分:1)

试试这个:

str1 =“u'id':u'x'”

re.findall(r'u \'id \':你\'\ d + \'',str1)

你需要转义单引号('),因为它是一个特殊字符