【发布时间】:2019-06-01 21:05:07
【问题描述】:
我正在尝试使用 regex 和我的文本文件编写代码。我的文件逐行包含这些单词:
nana
abab
nanac
eded
我的目的是:显示不包含作为子字符串字母给出的字母的单词。
例如,如果我的子字符串是"bn",我的输出应该只有eded。因为nana 和nanac 包含“n”而abab 包含“b”。
我写了一个代码,但它只检查我的子字符串的第一个字母:
import re
substring = "bn"
def xstring():
with open("deneme.txt") as f:
for line in f:
for word in re.findall(r'\w+', line):
for letter in substring:
if len(re.findall(letter, word)) == 0:
print(word)
#yield word
xstring()
我该如何解决这个问题?
【问题讨论】:
-
为什么是正则表达式?有更简单的方法可以检查两个字符串是否共享任何共同的字母。
-
我正在研究正则表达式来理解它,所以我必须
-
为什么是这一行?很难说它在做什么
for word in re.findall(r'\w+', line):。此外,```` for letter in substring: if len(re.findall(letter, word)) == 0: print(word)``` 将打印任何不包含 either 的单词子字符串中的字母,而不是 所有 个。 -
更广泛地说,这是一个很棒的正则表达式资源,您应该通过regexr.com运行您的表达式