我怎样才能找到人';python中带有正则表达式的字符串的名称?
我试图用正则表达式从上面的字符串中获取“James”,但找不到解决方案。如何使用正则表达式解决这种情况?如果命名约定一致,可以使用.split()将其拆分为列表我怎样才能找到人';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
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