Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python regex在每个特殊字符(除了\)和任何数字或字母(alphnum)之间添加空格。将特殊字符隐藏在_Python_Regex - Fatal编程技术网

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
    变成
    1
    **-43
    变成
    43
    ,但是
    x \-3
    变成
    x/-3
    ,并且再次排除
    \
  • 因此,我在这里看到的最大问题是在点1中插入一个空格?。我可以制作一个
    列表
    ,列出
    字符串
    ,运行一个循环,如果我在
    的第
    个位置看到一个特殊字符,我会在
    第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
    

    我认为你基本上想要创建一个记录器。考虑实现一个有限状态机,它决定根据它所看到的每个下一个字符来做什么。(使用循环而不是正则表达式)。你能给我举个例子吗?