Python regex在每个特殊字符(除了\)和任何数字或字母(alphnum)之间添加空格。将特殊字符隐藏在
我有一个一步一步的清洁过程Python regex在每个特殊字符(除了\)和任何数字或字母(alphnum)之间添加空格。将特殊字符隐藏在,python,regex,Python,Regex,我有一个一步一步的清洁过程 增加除\之外的任何特殊字符和任何字母数字之间的间距。例如,x+y变成x+y,-2变成-2,-hello变成-hello,hello--43world变成hello--43 world但是\(,\和\n就是这样 然后我想删除每一个重复超过1次的特殊字符。也除了\,因为它可以是我数据中的\类型 然后在第三阶段,我想删除多个连续的特殊字符,如.1变成1,**-43变成43,但是x \-3变成x/-3,并且再次排除\ 因此,我在这里看到的最大问题是在点1中插入一个空格?。我可
\
之外的任何特殊字符和任何字母数字之间的间距。例如,x+y
变成x+y
,-2
变成-2
,-hello
变成-hello
,hello--43world
变成hello--43 world
但是\(
,\
和\n
就是这样\
,因为它可以是我数据中的\
类型.1
变成1
,**-43
变成43
,但是x \-3
变成x/-3
,并且再次排除\
列表
,列出字符串
,运行一个循环,如果我在的第
个位置看到一个特殊字符,我会在第I+1个
位置插入一个'
,然后加入,但它对我的系统来说太重了
对于第二部分,我可以使用我提出的表达式([^a-zA-Z0-9\\])\1{1,}
,但它在某些用例中也失败了。(您能确认这是否是正确的做法吗?)
对于第三部分,我使用了([^a-zA-Z0-9\\\]{3,})
,但我认为它在我的用例中失败了,当我再次使用它时,它开始工作了,我不知道如何和为什么会像第一个一样。第三个似乎完成了所有的工作,只是添加了一个空格
基本上,我想要
hello--- (x+y-2/5=6 ) +_) h__EEL__l-++o //x \\#1---+++1 \\nHello x^^4 3-------6 \n \\n \( hello \) 1+_+1 -+-1+=- +_\\n))_x+=0
像
hello ( x + y - 2 / 5 = 6 ) h EEL l o x \\# 1 1 \\nHello x 4 3 6 \n \\n \( hello \) 1 1 1 +_\\n x+=0
我认为你基本上想要创建一个记录器。考虑实现一个有限状态机,它决定根据它所看到的每个下一个字符来做什么。(使用循环而不是正则表达式)。你能给我举个例子吗?