我是 Python 的新手,并不真正了解正则表达式。我有一些字符串,例如:
a = "Tom Hanks XYZ doesn't really matter"
b = "Julia Roberts XYZ don't worry be happy"
c = "Morgan Freeman XYZ all the best"
在每个字符串的中间有单词 XYZ 和一些文本。我需要正则表达式来找到并匹配这部分,更准确地说:从 XYZ 到字符串的结尾。
我是 Python 的新手,并不真正了解正则表达式。我有一些字符串,例如:
a = "Tom Hanks XYZ doesn't really matter"
b = "Julia Roberts XYZ don't worry be happy"
c = "Morgan Freeman XYZ all the best"
在每个字符串的中间有单词 XYZ 和一些文本。我需要正则表达式来找到并匹配这部分,更准确地说:从 XYZ 到字符串的结尾。
除非通过正则表达式有特定要求,否则非正则表达式解决方案在这里可以正常工作。有两种可能的方法可以解决这个问题
1.给定
a = "Tom Hanks XYZ doesn't really matter"
用分隔符对字符串进行分区,前面有一个空格
''.join(a.partition(" XYZ")[1:])[1:]
请注意,如果分隔符字符串不存在,这将返回一个空字符串。
2.
a[a.index(" XYZ") + 1:]
ValueError: substring not found
如果找不到字符串,这将引发异常
使用以下表达式
(XYZ.*)
它的作用是在看到字母“XYZ”并匹配零次或多次以外的任何内容时开始捕获。
m = re.search("(XYZ.*)", a)
如果要显示字符串的那一部分:
print m.groups()[0]