是否有某种re.sub_unless功能?我似乎无法找到一个。
所以我试图在Python中使用正则表达式格式化标点符号(在HTML文档中)。在段落末尾的标点符号之前删除不需要的空格时,我一直遇到表情符号的问题。所以,例如
"text - </p>"
和
"text . ) </p>"
应呈现为
"text-</p>"
和
"text.)</p>",
但
"text :)</p>"
不应呈现给
"text:)</p>".
编写正则表达式以匹配
" [emoticon]</p>"
并不难,所以如果有一些re.sub_unless(pattern,unless_pattern,text)函数,那将非常适合我的需求。
答案 0 :(得分:0)
虽然它不是re.sub_unless,但您可以执行以下操作,
import re
# text = "text :)</p>"
text = "text . ) </p>"
result = ""
emojis = [":)", ":("]
for emoji in emojis:
if emoji in text:
result = text
break
result = re.sub('\s*', "", text)
print(result)
如果您有多个表情符号,则可以执行以下操作,
{{1}}
不是最佳的代码,而是完成工作。