gpt4 book ai didi

Python 正则表达式问题

转载 作者:太空宇宙 更新时间:2023-11-04 07:10:58 25 4
gpt4 key购买 nike

我不确定为什么这不起作用:

import re
import csv

def check(q, s):
match = re.search(r'%s' % q, s, re.IGNORECASE)
if match:
return True
else:
return False

tstr = []

# test strings
tstr.append('testthisisnotworking')
tstr.append('This is a TEsT')
tstr.append('This is a TEST mon!')

f = open('testwords.txt', 'rU')
reader = csv.reader(f)
for type, term, exp in reader:
for i in range(2):
if check(exp, tstr[i]):
print exp + " hit on " + tstr[i]
else:
print exp + " did NOT hit on " + tstr[i]
f.close()

testwords.txt 包含这一行:

blah, blah, test

所以本质上“测试”是 RegEx 模式。没有什么复杂的,就一个简单的词。这是输出:

test did NOT hit on testthisisnotworking
test hit on This is a TEsT
test hit on This is a TEST mon!

为什么它没有击中第一根弦?我也试过 \s*test\s* 但没有成功。帮忙?

最佳答案

csv 模块默认返回输入中单词周围的空格(这可以通过使用不同的“方言”来更改)。所以 exp 包含带有前导空格的 "test"

解决这个问题的一个快速方法是添加:

exp = exp.strip()

在您读取 CSV 文件之后。

关于Python 正则表达式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11022847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com