2024-04-25 21:51:51 发布
网友
我试图用regex替换python3中的一个字符串。我需要将s1中的字符串完全替换为空字符串。在
s1
s1 = "/* 123 */" # Pattern /* n */ where n can be any integer s2 = re.sub(r'/*\s*\d+\s*/',"",s1) print(s2)
输出(实际)-/* 123 */#什么都没有发生
/* 123 */
输出(预期)-BLANK
BLANK
*是一个元字符,如果要匹配*字符,则需要对其进行转义。在结束符/之前还缺少文本*字符:
*
/
s2 = re.sub(r'/\*\s*\d+\s*\*/', "", s1)
您的代码匹配了零个或多个/个字符,以及零个或多个\s空格,但没有匹配注释开头和结尾的任何*字符。在
\s
演示:
\S+所有无空格字符,\S+空格。在
[31]: re.sub(r'\S+|\s+', "", s1) Out[31]: ''
*
是一个元字符,如果要匹配*
字符,则需要对其进行转义。在结束符/
之前还缺少文本*
字符:您的代码匹配了零个或多个
/
个字符,以及零个或多个\s
空格,但没有匹配注释开头和结尾的任何*
字符。在演示:
^{pr2}$\S+所有无空格字符,\S+空格。在
相关问题 更多 >
编程相关推荐