我是 python 中的正则表达式的新手,虽然简单的情况很容易,但我在使用从字符串中提取多个单词时遇到了麻烦。字符串如下所示:
lyne = "| 0x008d | 2345| 0xe54b5b42 | 0520 | 0x02 绿色| 4 红色 |"
并访问 | 之间的不同子字符串 | 使用 match.group
有没有办法做到这一点...有人可以帮忙吗
谢谢
不需要正则表达式:
substrs = [x.strip() for x in lyne.split('|') if x]
任何你不能只使用lyne.split('|')
which'll do it的理由,否则使用re.split()
相同的东西......
如果你真的想要一个正则表达式(匹配/查找而不是拆分),那么(去掉空格):
>>> re.findall(r'\|?\s*(.*?)\s*\|', lyne)
['0x008d', '2345', '0xe54b5b42', '0520', '0x02 GREEN', '4 RED']