python - Python 正则表达式中的控制代码

标签 python regex

这是一个更新的问题 Python split by regex look behind

我需要将控制代码放入正则表达式中,例如 0x0a 0x0d,或任何其他控制代码,例如 0x07 0x00

当我使用以下代码时,结果不正确:

import re
a = '''aaaaa
bbbb
cccc
'''
x = re.findall(r"[^%s]+%s" % (0x0a,0x0a),a,re.DOTALL)
print x

我得到了[]

我可以使用 Python split by regex look behind 中的答案由于控制码是0x0a==\n,那么其他控制码呢?

最佳答案

@KevinGuan 提醒,我发现了问题

正确的代码如下:

import re
a = '''aaaaa
bbbb
cccc
'''
x = re.findall(r"[^%s]+%s" % (chr(0x0a),chr(0x0a)),a,re.DOTALL)
print x

我也是Perler,在Perl中我们可以这样写:

$Line =~ s/,[\t ]*(\x0d?\x0a)/,$1/g;

当我将 Perl 脚本移植到 Python 时,我没有意识到差异

关于python - Python 正则表达式中的控制代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34490684/

相关文章:

python - 如何转义Python相关库中的星号?

regex - 如何在 Bash 中测试变量是否符合指定格式?

python - 使用 Python、PyQt、Qt Designer 和 QStackedWidget 导入页面

python - 如何在django模板中查找字典值

python - 如何在python爬虫中保存存储(常用字符串)

python - 正则表达式:如何识别屏幕中的单词(或如何排除标点符号和数字)

python - 如何使用Python3检查rpm GPG签名?

python - matplotlib 中的 figsize 没有改变图形大小?

regex - 正则表达式替换的复杂性

regex - 将 0(零)附加到 grep 匹配引用