从文本中提取$符号之间内容的正则表达式
问题是:
我需要从一段文本中提取出夹在$
符号之间的字符串,但我对正则表达式完全不懂。
比如说,从这段文本中:
Li Europan lingues $es membres$ del sam familie. Lor $separat existentie es un$ myth.
我想得到一个数组,里面包含:
{'es membres', 'separat existentie es un'}
如果能给我一段Python代码就太好了。
6 个回答
1
import re;
m = re.findall('\$([^$]*)\$','Li Europan lingues $es membres$ del sam familie. Lor $separat existentie es un$ myth');
当然可以!请把你想要翻译的内容发给我,我会帮你把它变得更简单易懂。
3
你可以使用 re.findall 这个方法:
>>> re.findall(r'\$(.*?)\$', s)
['es membres', 'separat existentie es un']
5
首先,导入re
模块,然后使用findall()
这个函数:
>>> import re
>>> p = re.compile('\$(.*?)\$')
>>> s = "apple $banana$ coconut $delicious ethereal$ funkytown"
>>> p.findall(s)
['banana', 'delicious ethereal']
这里的模式p
表示一个美元符号(\$
),接着是一个非贪婪的匹配组((...?)
),这个组可以匹配任意字符(.
),而且这些字符的数量可以是零个或多个(*
),最后又是一个美元符号(\$
)。