从文本中提取$符号之间内容的正则表达式

2 投票
6 回答
1765 浏览
提问于 2025-04-15 17:29

问题是:
我需要从一段文本中提取出夹在$符号之间的字符串,但我对正则表达式完全不懂。

比如说,从这段文本中:
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表示一个美元符号(\$),接着是一个非贪婪的匹配组((...?)),这个组可以匹配任意字符(.),而且这些字符的数量可以是零个或多个(*),最后又是一个美元符号(\$)。

撰写回答