Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用正则表达式在三个固定字符之间提取数据_Python_Regex_Python 2.7 - Fatal编程技术网

Python 使用正则表达式在三个固定字符之间提取数据

Python 使用正则表达式在三个固定字符之间提取数据,python,regex,python-2.7,Python,Regex,Python 2.7,这是我正在使用的数据字符串 f = """{"id"=156,"pid"=656,"sd"=656,"id"=156,"pid"=656}""" 我想读取id的值。所以我使用 regex = '"id":(.+?),"pid"' pattern = re.compile(regex) ida = re.findall(pattern,f) 现在regex返回两个id值。 我想只读“id”和“sd”之间的id值。我们如何编写一个regex语句来包含“pid”和“sd”以仅获取第一个“id”的值

这是我正在使用的数据字符串

f = """{"id"=156,"pid"=656,"sd"=656,"id"=156,"pid"=656}"""
我想读取id的值。所以我使用

regex = '"id":(.+?),"pid"'
pattern = re.compile(regex)
ida = re.findall(pattern,f)
现在regex返回两个id值。
我想只读“id”和“sd”之间的id值。我们如何编写一个regex语句来包含“pid”和“sd”以仅获取第一个“id”的值您可以使用lookarounds regex:

>>> f = """{"id"=156,"pid"=656,"sd"=656,"id"=156,"pid"=656}"""
>>> print re.search(r'(?<="id"=)(\w+)(?=.*"sd")', f).group()
156
>>f=“{”id”=156,“pid”=656,“sd”=656,“id”=156,“pid”=656}”

>>>打印搜索(r’(?您可以使用lookarounds正则表达式:

>>> f = """{"id"=156,"pid"=656,"sd"=656,"id"=156,"pid"=656}"""
>>> print re.search(r'(?<="id"=)(\w+)(?=.*"sd")', f).group()
156
>>f=“{”id”=156,“pid”=656,“sd”=656,“id”=156,“pid”=656}”

>>>打印搜索(r’(?您可以使用lookarounds正则表达式:

>>> f = """{"id"=156,"pid"=656,"sd"=656,"id"=156,"pid"=656}"""
>>> print re.search(r'(?<="id"=)(\w+)(?=.*"sd")', f).group()
156
>>f=“{”id”=156,“pid”=656,“sd”=656,“id”=156,“pid”=656}”

>>>打印搜索(r’(?您可以使用lookarounds正则表达式:

>>> f = """{"id"=156,"pid"=656,"sd"=656,"id"=156,"pid"=656}"""
>>> print re.search(r'(?<="id"=)(\w+)(?=.*"sd")', f).group()
156
>>f=“{”id”=156,“pid”=656,“sd”=656,“id”=156,“pid”=656}”
>>>打印重新搜索(r’(?
re.findall()
返回模式的所有匹配项。您可以使用
re.search
获取第一个
id
的值:

>>> re.search(r'"id"=(\d+)',f).group(1)
'156'
请注意,如果您只想查找模式的第一个匹配项,则不需要其他额外条件,
re.search
将默认返回该值。

re.findall()
返回模式的所有匹配项,您可以使用
re.search
获取第一个
id
的值:

>>> re.search(r'"id"=(\d+)',f).group(1)
'156'
请注意,如果您只想查找模式的第一个匹配项,则不需要其他额外条件,
re.search
将默认返回该值。

re.findall()
返回模式的所有匹配项,您可以使用
re.search
获取第一个
id
的值:

>>> re.search(r'"id"=(\d+)',f).group(1)
'156'
请注意,如果您只想查找模式的第一个匹配项,则不需要其他额外条件,
re.search
将默认返回该值。

re.findall()
返回模式的所有匹配项,您可以使用
re.search
获取第一个
id
的值:

>>> re.search(r'"id"=(\d+)',f).group(1)
'156'
请注意,如果只想找到模式的第一个匹配项,则不需要其他额外条件,
re.search
将默认返回该值