0

私は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から文字列の終わりまでを見つけて一致させる正規表現が必要です。

4

3 に答える 3

2

正規表現を使用する特定の要件がない限り、ここでは正規表現以外のソリューションで問題なく機能します。この問題に取り組むには 2 つの方法があります

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文字列が見つからない場合、これは例外を発生させます

于 2013-01-06T04:35:23.270 に答える
1

次の式を使用します

(XYZ.*)

これが行うことは、文字「XYZ」を見て、その0回以上に一致するときにキャプチャを開始することです。

于 2013-01-06T00:39:45.107 に答える
1
m = re.search("(XYZ.*)", a)

文字列のその部分を表示したい場合:

print m.groups()[0]
于 2013-01-06T00:39:47.970 に答える