Jea*_*n77 12 python regex python-2.7
我是Python的新手,我遇到了正则表达式问题.我正在尝试删除文本文件中每行末尾的换行符,但前提是它跟在小写字母后面,即[a-z].如果该行的结尾以小写字母结尾,我想用空格替换换行符/换行符.
这是我到目前为止所得到的:
import re
import sys
textout = open("output.txt","w")
textblock = open(sys.argv[1]).read()
textout.write(re.sub("[a-z]\z","[a-z] ", textblock, re.MULTILINE) )
textout.close()
Run Code Online (Sandbox Code Playgroud)
Tim*_*ker 23
尝试
re.sub(r"(?<=[a-z])\r?\n"," ", textblock)
Run Code Online (Sandbox Code Playgroud)
\Z只在字符串末尾匹配,在最后一个换行符后,所以它绝对不是你需要的.\zPython正则表达式引擎无法识别.
(?<=[a-z])是一个正向的lookbehind断言,用于检查当前位置之前的字符是否为小写ASCII字符.只有这样,正则表达式引擎才会尝试匹配换行符.
此外,始终使用带有正则表达式的原始字符串.使反斜杠更容易处理.
| 归档时间: |
|
| 查看次数: |
25770 次 |
| 最近记录: |