繁体   English   中英

python中正则表达式代码中的错误

[英]Errors in regex code in python

我正在做家庭作业,我需要使用正则表达式在另一个名为 lorem_ipsum 的较大字符串中查找各种字符和字符串,我不断收到 TypeError:预期字符串或缓冲区,指定 lorem_ipsum 是一个字符串而不是列表,因此不是问题。 这是我写的两段代码:这是在lorem_ipsum中找到所有非字母数字字符,并输出它们出现的次数,它应该返回144:

string1 = len(lorem_ipsum)
pattern = "^[[]]"
matches1 = re.match(pattern, string1)
results = matches1.read()

这个是在lorem_ipsum中找出sit ament的所有出现,并输出它们出现的次数,它应该输出3:

string1 = len(lorem_ipsum)
pattern = "sit[-:]amet"
matches1 = re.findall(pattern, string1)
results = matches1.count(pattern, string1)

print (results)

我以前从未遇到过这个问题,据我所知,我使用的语法与我以前的作业相同。

您的问题是代码第 2 行中lorem_ipsum周围的len()

len()会给你一个字符串的长度作为一个整数,考虑到正则表达式只需要一个字符串或缓冲区,我认为这不是你想要匹配的。 删除 len 使第 2 行看起来像这样:

matches1 = re.match(pattern, lorem_ipsum)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM