我是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到字符串的結尾。
使用下面的表達式
(XYZ.*)
這樣做是開始時,看到字母「XYZ」和匹配任何超出零次或多次捕捉。
m = re.search("(XYZ.*)", a)
如果你想顯示字符串的一部分:
print m.groups()[0]
@DSM:確認,謝謝!固定 –
Unles沒有通過正則表達式做了具體的要求,非正則表達式的解決方案將很好地工作在這裏。 有兩種可能的方法可以解決這個問題
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
?不會像'a.find(「XYZ」):''也能工作嗎? – DSM哦!你是對的:) 我不知道它可以完成沒有正則表達式! – user1952026