python3中正则表达式替换字符串

2024-04-25 21:51:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用regex替换python3中的一个字符串。我需要将s1中的字符串完全替换为空字符串。在

s1 = "/*  123  */"  # Pattern /*  n  */ where n can be any integer  
s2 = re.sub(r'/*\s*\d+\s*/',"",s1)
print(s2)

输出(实际)-/* 123 */#什么都没有发生

输出(预期)-BLANK


Tags: 字符串reanyintegerbewherecanpython3
2条回答

*是一个元字符,如果要匹配*字符,则需要对其进行转义。在结束符/之前还缺少文本*字符:

s2 = re.sub(r'/\*\s*\d+\s*\*/', "", s1)

您的代码匹配了零个或多个/个字符,以及零个或多个\s空格,但没有匹配注释开头和结尾的任何*字符。在

演示:

^{pr2}$

\S+所有无空格字符,\S+空格。在

[31]: re.sub(r'\S+|\s+', "", s1)
Out[31]: ''

相关问题 更多 >