假设我有一个字符串:
s = "4n5n6n"
我想创建一个正则表达式,删除除数字和字符串末尾的 n
之外的所有内容。所以最终的解决方案应该是这样的:
s = "456n"
如果我像这样使用正则表达式:
re.sub(r'[^n$\d]', "", s)
$
放在方括号内似乎失去了意义。有什么解决办法?
最佳答案
你可以这样使用:
re.sub(r'[^n\d]|n(?!$)', "", s)
这将匹配任何非数字和除 n
以外的任何字符,或任何不在末尾的 n
(表示“不在末尾”通过带有 $
的负前瞻 (?! ... )
。
关于python - 正则表达式替换所有除非行尾($ in [] issue),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20859816/