Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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正则表达式,删除转义字符和标点符号(撇号除外)_Python_Regex_Python 3.x - Fatal编程技术网

python正则表达式,删除转义字符和标点符号(撇号除外)

python正则表达式,删除转义字符和标点符号(撇号除外),python,regex,python-3.x,Python,Regex,Python 3.x,我有一个字符串如下所示: "aaa\n\t\n asd123asd water's tap413 water blooe's" 如何使用正则表达式除去撇号以外的所有转义字符、数字和标点符号 我对正则表达式很陌生,如果您能解释每个表达式的含义,如果正则表达式的公式很复杂,我不确定您具体浏览的是什么,但是\\n| \\t|\.\124;\\\.\ 124;\++可以选择您的规格。。。在中尝试您自己的正则表达式您正在寻找一个搜索和替换方法,在Python中应该是resub 只需将非字母和撇号[^a-

我有一个字符串如下所示:

"aaa\n\t\n asd123asd water's tap413 water blooe's"
如何使用正则表达式除去撇号以外的所有转义字符、数字和标点符号


我对正则表达式很陌生,如果您能解释每个表达式的含义,如果正则表达式的公式很复杂,我不确定您具体浏览的是什么,但是\\n| \\t|\.\124;\\\.\ 124;\++可以选择您的规格。。。在

中尝试您自己的正则表达式您正在寻找一个搜索和替换方法,在Python中应该是resub

只需将非字母和撇号[^a-zA-Z']+替换为零即可

-哦,那么,转义的角色呢? R:当在字符串中时,它们将变成单个字符,\n例如,将变成换行符,而不是字母或“a”

相反,如果您在字符串中实际转义了一个转义字符,如:abc\\nefg,则应在正则表达式的开头添加一个“\\.\”,它将匹配反斜杠+任何其他字符,因此它将是:\\\.[^a-zA-Z']

以下是工作示例:

import re
s = "aaa\n\t\n asd123asd water's tap413 water blooe's"
replaced = re.sub("[^a-zA-Z' ]+", '', s)
print(replaced)
如果您能解释一下每个表达的意思,我将不胜感激

因此,解释如下:

\\\\-匹配反斜杠为什么是四?每对都将转义Python字符串编译的斜杠,它将变成\\,这是您在正则表达式中匹配反斜杠的方式。 . - 匹配除换行符以外的任何字符。 |-或表达式,匹配之前或之后的内容。 [^…]-不能是其中一个字符。 a-zA-Z'-匹配从a到Z、从a到Z的字符,'或。 +-量词,此处不需要,但有助于减少匹配,从而减少执行时间,这将转化为一次或多次出现的术语behind。
请定义转义字符的含义。@Jan\n\t\r….@EricKim您是否查看了负责正则表达式的re模块的python页面?这里有很好的解释,当我做正则表达式的东西时,我使用它作为我的go-to文档。
import re
snt="aaa\n\t\n asd123asd water's tap413 water blooe's"
"".join(re.findall("[^\n\t\d:.,]+",snt))