为什么这组代码,我的电脑运行不了?

def filterchar(string): '''功能:过滤危险字符(如黑客),并且将过滤后的结果输出 string:要过滤的字符串 没有返回值 ''' import re pattern=r'(黑客)|(抓包)|(监听)|(Trojan)' sub=re.sub(pattern,'@_@',string) print(sub) def empty(): pass about = '我是一名程序员,喜欢看黑客方面的图书,想研究一下Trojan.' filterchar(about)

你的代码运行的时候提示什么异常?

def filterchar(string): 
    '''功能:过滤危险字符(如黑客),并且将过滤后的结果输出 string:要过滤的字符串 没有返回值 ''' 
    import re 
    pattern=r'(黑客)|(抓包)|(监听)|(Trojan)' 
    sub=re.sub(pattern,'@_@',string) 
    print(sub) 
    
def empty(): 
    pass 

about = '我是一名程序员,喜欢看黑客方面的图书,想研究一下Trojan.' 
filterchar(about)

你的pattern里面是中文括号,改成英文的就可以了

代码的逻辑和思路没有问题,主要是正则式中的符号用错了,要用英文的括号才行,你将下面修改的代码复制运行就能看到错误已排除,输出正确结果。

def filterchar(string): 
    '''功能:过滤危险字符(如黑客),并且将过滤后的结果输出 string:要过滤的字符串 没有返回值 ''' 
    import re 
    pattern=r'(黑客)|(抓包)|(监听)|(Trojan)' 
    sub=re.sub(pattern,'@_@',string) 
    print(sub) 
def empty(): 
    pass 
about = '我是一名程序员,喜欢看黑客方面的图书,想研究一下Trojan.' 
filterchar(about)
#输出
我是一名程序员,喜欢看@_@方面的图书,想研究一下@_@.

 

代码,报错,截图

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632