正则表达式从Python中的字符串中选择文本

时间:2011-01-19 04:49:32

标签: python regex

我格式化了文本行,即

[[item1 *,* {_item2*} *;{item3*}* ;{item4*}*]]

其中*表示单词和括号之间的任何文本。 是否可以从*到变量收集文本?

item1, after1, before2, item2, after2, item3, after3, item4, after4, afterall = re. ???

1 个答案:

答案 0 :(得分:1)

您应该能够使用正则表达式。

http://docs.python.org/library/re.html

您可以将括号括在要稍后拉出的表达式的各个部分。

您是否想要抓取*零件或物品零件?如果你试图抓住*部件,它应该不会太难。

import re

reg = r'\[\[item1 (.*),(.*) {_item2(.*)} (.*);{item3(.*)}(.*) ;{item4(.*)}(.*)\]\]'
match = re.match(reg, text)
# You grab items by index. Starting from 1, 0 is the entire match
item1 = match.group(1)
item2 = match.group(2)

您可能需要稍微玩一下才能使其符合您的要求。