2

我是 python 中的正则表达式的新手,虽然简单的情况很容易,但我在使用从字符串中提取多个单词时遇到了麻烦。字符串如下所示:

lyne = "| 0x008d | 2345| 0xe54b5b42 | 0520 | 0x02 绿色| 4 红色 |"

并访问 | 之间的不同子字符串 | 使用 match.group

有没有办法做到这一点...有人可以帮忙吗

谢谢

4

2 回答 2

2

不需要正则表达式:

substrs = [x.strip() for x in lyne.split('|') if x]
于 2013-02-21T01:34:32.753 回答
2

任何你不能只使用lyne.split('|')which'll do it的理由,否则使用re.split()相同的东西......

如果你真的想要一个正则表达式(匹配/查找而不是拆分),那么(去掉空格):

>>> re.findall(r'\|?\s*(.*?)\s*\|', lyne)
['0x008d', '2345', '0xe54b5b42', '0520', '0x02 GREEN', '4 RED']
于 2013-02-21T01:34:48.583 回答