我怎样才能找到人';python中带有正则表达式的字符串的名称?

我怎样才能找到人';python中带有正则表达式的字符串的名称?,python,regex,Python,Regex,我试图用正则表达式从上面的字符串中获取“James”,但找不到解决方案。如何使用正则表达式解决这种情况?如果命名约定一致,可以使用.split()将其拆分为列表 string = 'company: / name: James / Street: 24 High Road /' name = re.search('Name:(.*)/(.*)Street:)', string) print(name) 编辑:这将仅获取具有名称的元素 stringy = 'company: / name: Ja

我试图用正则表达式从上面的字符串中获取“James”,但找不到解决方案。如何使用正则表达式解决这种情况?

如果命名约定一致,可以使用.split()将其拆分为列表

string = 'company: / name: James / Street: 24 High Road /'
name = re.search('Name:(.*)/(.*)Street:)', string)
print(name)
编辑:这将仅获取具有名称的元素

stringy = 'company: / name: James / Street: 24 High Road /'

name = stringy.split('/')

将我的评论转换为答案,因为这是正确的地方

您可以使用此正则表达式:

name = [n for n in name if 'name' in n]
(?i)
为正则表达式启用忽略大小写匹配

如果要在匹配后断言是否存在
Street:
,请将此正则表达式与前瞻性断言一起使用:

>>> string = 'company: / name: James / Street: 24 High Road /'
>>> print ( re.search(r'(?i)name:\s*(\w+)', string).group(1) )
James

re.search(r'(?i)name:\s*(\w+),string.group(1)
@anubhava不将答案放在评论部分。当字符串为
name
时,为什么正则表达式要查找
name
>>> print ( re.search(r'(?i)name:\s*(\w+)(?=\W+Street:)', string).group(1) )
James