我正在做一个项目,但在使re.findall
正常工作方面遇到问题。这是到目前为止的代码(简短而有趣):
pattern = ['^a-zA-Z0-9_']
results = re.findall(pattern, (str(lorem_ipsum))
print(len(results))
以这种方式打印时出现语法错误。任何帮助将不胜感激。我时间紧迫,明天有更多时间会做些调整。
答案 0 :(得分:0)
您在lorem ipsum之后缺少右括号,还需要将模式转换为原始字符串。本质上,模式必须是字符串而不是列表。我们在前面添加r,以确保逐字考虑反斜杠而不是将其转义。
pattern = r'[^a-zA-Z0-9\_]'
results = re.findall(pattern, (str(lorem_ipsum)))
print(len(results))
答案 1 :(得分:0)
您实际上不需要任何正则表达式即可。只需使用.isalnum()
text = "hello 23232@"
for character in text:
if not character.isalnum():
print("found: \'{}\'".format(character))
输出:
found ' '
found '@'