Python 写正确的正则表达式有困难

Python 写正确的正则表达式有困难,python,regex,Python,Regex,我正在尝试匹配以下文本中的项目编号: User Number 1 will probably like movie ID: RecommendedItem[item:557, value:7.32173]the most! 以下是我尝试过的: myfile = open('result.txt', 'r') for line in myfile: m = re.search('(?<=RecommendedItem\[item:).+,', line) print m m

我正在尝试匹配以下文本中的项目编号:

User Number 1 will probably like movie ID: RecommendedItem[item:557, value:7.32173]the most!
以下是我尝试过的:

 myfile = open('result.txt', 'r')

 for line in myfile:
  m = re.search('(?<=RecommendedItem\[item:).+,', line)
  print m
myfile=open('result.txt','r')
对于myfile中的行:

m=re.search(“(?这不是一个错误!re.search的结果是一个MatchObject。其中包含匹配项,可以通过
MatchObject.group(groupNumber…)
(还有其他方法,如groups()等)进行访问,如下所述:。您需要一个正则表达式来执行您的要求:

import re
t = "User Number 1 will probably like movie ID: RecommendedItem[item:557, value:7.32173]the most!"
itemNumber = re.search(r'(?<=RecommendedItem\[item:)(\d+)',t)
print(itemNumber.group(0))

这不是一个错误。
re.search
的结果是一个MatchObject。其中包含匹配项,可以通过
MatchObject.group(groupNumber,…)
(还有其他方法,如groups()等)进行访问,如下所述:。您需要一个正则表达式来执行您的要求:

import re
t = "User Number 1 will probably like movie ID: RecommendedItem[item:557, value:7.32173]the most!"
itemNumber = re.search(r'(?<=RecommendedItem\[item:)(\d+)',t)
print(itemNumber.group(0))

要获取regexp的匹配部分,应该使用

if m:
    print line[m.start():m.end()]
或者您可以使用
re.findall
函数返回匹配列表:

m = re.findall('(?<=RecommendedItem\[item:).+,', line))
if m:
    print m[0]

m=re.findall(')(?要获取regexp的匹配部分,您应该使用

if m:
    print line[m.start():m.end()]
或者您可以使用
re.findall
函数返回匹配列表:

m = re.findall('(?<=RecommendedItem\[item:).+,', line))
if m:
    print m[0]

m=re.findall(')(?要从匹配对象中获取项目编号,请尝试打印m.groups()


有关使用“m”可以执行的其他操作,请参见。要从匹配对象中获取项目编号,请尝试打印m.groups()


请参阅,了解您可以使用“m”执行的其他操作。
不是错误,它意味着您找到了匹配项。如果它返回
,则您将没有匹配项。哦!我如何确切地获取变量“m”中的项目编号?
不是错误,它意味着您找到了匹配项。如果它返回
,则您将没有匹配项。哦!如何获取我在变量“m”中得到的项目号是多少?非常感谢!我以前没有遇到过group函数。你知道为什么regexpal.com不能与look behinds一起工作吗?该网站在其他方面很神奇。不同的regex风格的语法是不同的。regexpal是JavaScript regex风格的,python是“非常”不同的。谢谢非常感谢!我以前没有见过这个组函数。你知道为什么regexpal.com不能与look behinds一起工作吗?这个网站真是太棒了。不同的regex风格的语法是不同的。regexpal是JavaScript regex风格的,python的“非常”不同。谢谢!是的,我忘了逗号。实际上,只使用se\d+谢谢!是的,我忘了逗号。实际上只使用\d更好+