我需要一个正则表达式来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 的原因。在组内,[^$]*
将匹配任意数量的非$
.