【发布时间】:2019-12-14 13:15:21
【问题描述】:
我试图弄清楚如何使 python 的 re 模块在彩色输出中表现得更像 grep。
这意味着我需要获取一个我无法控制的 abritrary 正则表达式,在字符串中找到它,然后只为匹配着色。因为我无法控制正则表达式,所以我的解决方案不能依赖捕获组。
例如,如果我有:
s="omglolwtfbbq"
regex=r"l[\w]"
我希望 python 将 lo 和 lw 替换为在其中使用匹配项的字符串,在正则表达式中没有捕获组。所以像:
re.sub(regex, "!%s!", s)
re.sub(regex, "!\0!", s)
re.sub(regex, "!<THE MATCHING STRING>!", s)
会产生:
"omg!lo!!lw!tfbbq"
最终,我只是尝试为匹配发送的正则表达式的s 部分着色; grep 使用简单的字符串输入来完成此操作,并且没有捕获组。
这在 python 中可行吗?
【问题讨论】:
标签: python regex regex-group