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

问题描述 投票:1回答:3

我正在尝试创建匹配以下模式的正则表达式:

注意:x是一个例如2

图案:

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

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

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

但是,没有找到匹配项。

python regex python-2.7
3个回答
2
投票

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

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

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
投票

试试这个:

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.