我需要一个正则表达式来re.findall返回“$”符号之间的任何内容:
Sentence = "The person, $John Doe$, works at $Lan Tech$ as a $Sales Engineer$."
印刷应产生 =
['John Doe', 'Lan Tech', 'Sales Engineer']
注意:如果更容易的话,我可以使用“$”以外的其他东西。
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 的原因。在组内,[^$]*将匹配任意数量的非$.