我有一些格式错误的段落。我需要在数字之间替换空格。例如:
6. 7 should be 6.7
我已尝试使用以下表达式来获取有问题的空格,但它选择了6.
:
(?:\d\.)\s(?=\d+)
任何指针都会有所帮助。
答案 0 :(得分:2)
>>> re.sub(r'(\d+\.)\s+(\d+)',r'\1\2','62. 7; 8.5; 6. 912')
'62.7; 8.5; 6.912'
答案 1 :(得分:1)
您可以使用lookbehind:
{
"entries": [
{"url":"s3://b1-bucket/f1/20160728/file1.json", "mandatory":true},
{"url":"s3://b1-bucket/f1/20160728/file2.json", "mandatory":true},
{"url":"s3://b1-bucket/f1/20160729/file1.json", "mandatory":true},
{"url":"s3://b1-bucket/f2/20160728/file1.json", "mandatory":true}
]
}
请参阅regex demo here。或者,使用捕获组,但稍后用(?<=\d\.)\s+(?=\d+)
^^^
反向引用替换:
\1
注意:如果这些编号的项目符号位于行的开头,如果您使用{{{},请使用与行开头匹配的(\d\.)\s+(?=\d+)
锚点1}}标记,您可以在^
之后添加re.M
以匹配0+空格:
[ \t]*
请参阅another demo
^
请参阅Python demo