1

re.findall「$」記号の間にあるものを返す正規表現が必要です。

Sentence = "The person, $John Doe$, works at $Lan Tech$ as a $Sales Engineer$."

印刷は = を生成する必要があります

['John Doe', 'Lan Tech', 'Sales Engineer']

注: 簡単であれば、「$」以外のものを使用できます。

4

1 に答える 1

2

re.findall()キャプチャ グループで使用します。

re.findall(r'\$([^$]*)\$', Sentence)

例:

>>> Sentence = "The person, $John Doe$, works at $Lan Tech$ as a $Sales Engineer$."
>>> re.findall(r'\$([^$]*)\$', Sentence)
['John Doe', 'Lan Tech', 'Sales Engineer']

説明: エスケープされていないものは正規表現で文字列アンカーの終わりとして機能する$ため、正規表現でそれぞれをエスケープする必要があります。$グループは括弧内のすべてであり、re.findall()グループがある場合にのみグループの内容を返します。そのため、$s は結果のリストに含まれません。グループ内では、[^$]*ではない任意の数の文字に一致します$

于 2012-11-13T17:20:10.070 に答える