在这种特殊情况下,我想提取一个latex命令的参数,如:
... latex code ...
\bibitem{item1}
... latex code ...
\bibitem{item2}
... latex code ...
python中是否有任何函数可以检索包含item1,item2等的列表?
我会想象:
latex_text.extract_argument("\bibitem{","}")
一个函数,它将扫描文本并返回两个分隔符集中包含的每个参数的列表。
答案 0 :(得分:3)
import re
re.findall(r'\\bibitem\{(.*?)\}', latex_text) # ['item1', 'item2']
答案 1 :(得分:2)
使用re.search
:
import re
l = '\\bibitem{item1}'
m = re.search(r'\{([^}]*)\}', l)
print m.group(1) # => 'item1'
正则表达式\{([^}]*)\}
:
{
,我们必须将其作为\{
转义。(...)
*
的任何}
个字符:([^}]
步骤2中的组是m.group(1)
。