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 - Fatal编程技术网

替换为正则表达式python

替换为正则表达式python,python,regex,Python,Regex,我想从一个句子中删除所有以TIPE_u和“END_utipe”开头的单词,用python中的正则表达式怎么能做到这一点 例句: x = "Hello, my name is TIPE_PER María END_TIPE and I'm from TIPE_LOC Europa END_TIPE" 这应该是这样的: 您好,我的名字是玛丽亚,来自欧罗巴。这个解决方案假设TIPE_uu2;u。。。后面总是有一个空格,前面总是有一个空格。似乎您也想删除这些空格 它将查找所有这些事

我想从一个句子中删除所有以TIPE_u和“END_utipe”开头的单词,用python中的正则表达式怎么能做到这一点

例句:

x = "Hello, my name is TIPE_PER María END_TIPE and I'm from TIPE_LOC Europa END_TIPE"
这应该是这样的:
您好,我的名字是玛丽亚,来自欧罗巴。这个解决方案假设TIPE_uu2;u。。。后面总是有一个空格,前面总是有一个空格。似乎您也想删除这些空格

它将查找所有这些事件,并将其替换为空字符串

重新导入
x=“你好,我的名字是蒂佩·佩尔·马里亚·恩德·蒂佩,我来自蒂佩·洛克·欧罗巴·恩德·蒂佩”
关于sub((TIPE.*?| END_TIPE)”,“”,x)

您好,请按照下面的代码操作,所有内容都经过了完美的注释和解释

import re#导入正则表达式库/模块
text=“你好,我的名字是TIPE_PER María END_TIPE,我来自TIPE_LOC Europa END_TIPE”#文本字符串
图案=r“(TIPE_PER | END_TIPE | TIPE_LOC)”#图案TIPE_PER或END_TIPE或TIPE_LOC
result=re.sub(pattern,“,text)#sub maens replace,因此您基本上是用文本字符串中的该模式替换所有数学,而不使用任何内容或“”
打印(重新结果)#打印重新结果

这一个应该可以按照您的要求工作

import re
s = "Hello, my name is TIPE_PER María END_TIPE and I'm from TIPE_LOC Europa END_TIPE"
replaced = re.sub('TIPE_\w+|END_TIPE', '', s)

print(replaced)

您可以使用正则表达式
(\S+\ux)*TIPE\S**
,它将查找TIPE和后面的任何非空格以及前面的任何非空格,并将它们从文本中删除,此外,它将从更好的格式中删除匹配单词后面的一个空格

import re

x = "Hello, my name is TIPE_PER María END_TIPE and I'm from TIPE_LOC Europa END_TIPE"
print(re.sub(r"(\S+_)*TIPE\S* *", "", x))
输出

Hello, my name is María and I'm from Europa  

你试过什么?什么不起作用?你得到了什么?你期待什么?你的代码有什么地方不适用?它在哪里?(你可能需要修改格式)你能告诉我怎么做吗?post editor中有一个帮助说明了这一点。是的,我刚读过,谢谢你们为什么使用
(\s+\ux)*
?这是干什么用的?要在TIPESo之前检查所有非空白字符和下划线,您需要匹配
abc*$_123美元$%§并将其替换为零,这不是所需要的。