问题:
我需要$从一个文本块中提取字符之间的字符串,但是当涉及正则表达式时,我总共需要n00b.
例如,从这个文本:
Li Europan lingues $es membres$ del sam familie. Lor $separat existentie es un$ myth.
我想得到一个由以下组成的数组:
{'es membres', 'separat existentie es un'}
Python中的一小段片段会很棒.
导入re模块,并使用findall():
>>> import re
>>> p = re.compile('\$(.*?)\$')
>>> s = "apple $banana$ coconut $delicious ethereal$ funkytown"
>>> p.findall(s)
['banana', 'delicious ethereal']
Run Code Online (Sandbox Code Playgroud)
该模式p表示一个美元符号(\$),然后是一个非贪婪的匹配组((...?)),它匹配的字符(.)必须为零或更多(*),后跟另一个美元符号(\$).