我需要re.findall
的正则表达式,它返回'$'符号之间的任何内容:
Sentence = "The person, $John Doe$, works at $Lan Tech$ as a $Sales Engineer$."
打印应该产生=
['John Doe', 'Lan Tech', 'Sales Engineer']
注意:如果更容易,我可以使用“$”以外的其他内容。
答案 0 :(得分: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()
将仅返回组的内容,这就是$
未包含在结果列表中的原因。在群组内部,[^$]*
将匹配任何数量不是$
的字符。