从python中的通用函数代码中提取参数

时间:2012-10-31 11:54:09

标签: python string parsing

在这种特殊情况下,我想提取一个latex命令的参数,如:

... latex code ...
\bibitem{item1} 
... latex code ...
\bibitem{item2}
... latex code ...

python中是否有任何函数可以检索包含item1,item2等的列表?

我会想象:

latex_text.extract_argument("\bibitem{","}")

一个函数,它将扫描文本并返回两个分隔符集中包含的每个参数的列表。

2 个答案:

答案 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'

正则表达式\{([^}]*)\}

的说明
  1. 我们正在寻找一个起始{,我们必须将其作为\{转义。
  2. 我们使用包含
  3. 的群组(...)
  4. *的任何}个字符:([^}]
  5. 步骤2中的组是m.group(1)