【发布时间】:2015-09-17 13:47:15
【问题描述】:
我正在寻找 Python 中非常特殊的 RegEx(或其他解决方案,性能接近)来替代模式,这些模式在以下示例中:
...-1AG.,., should be transformed as ...G.,.,
..,-1A,.,., should be transformed as ..,,.,.,
...-2GTC,., should be transformed as ...C,.,
..,-2GT.,., should be transformed as ..,.,.,
...+3TAGT,, should be transformed as ...T,,
..,+3TAG.,. should be transformed as ..,.,.
基本上:
AnySymbol(不仅是点和逗号),后跟一个 +/- 符号,后跟一个字母数字 (1..9),后跟几个字母,其数量取决于前一个数字,最后是 AnySymbol (不仅是点和逗号),
应该转化为:
AnySymbol(不仅是点和逗号)和 AnySymbol(不仅是点和逗号)。
显然解决方案:String = re.sub(r'[\-\+]\d\w+', "", String) 不正确,如果我们有案例(...-1AG.,., should be transformed as ...G.,.,)。
到目前为止,我正在遍历r'[\-\+]1\w', r'[\-\+]2\w\w', r'[\-\+]3\w\w\w' ... r'[\-\+]9\w\w\w\w\w\w\w\w\w',但是我希望有更优雅的解决方案。有什么想法吗?
【问题讨论】: