Python正则表达式用于查找单词,也排除了特定单词

时间:2016-11-06 08:38:22

标签: regex python-3.x

我对编程非常陌生。我搜索过这个网站和谷歌,但似乎无法解决这个问题。我找到了类似的主题,但仍然无法解决这个问题......

我有一个包含非常大的单词列表的文本文件。这些单词都已编号,并且还按名词','形容词'进行了分类。或者'动词'。

我想从此列表中提取单词,但排除数字和以下三个单词,'名词','形容词'和'动词。'

我知道我需要使用插入符号字符,但似乎无法使其正常工作。

import re
import os

textFile = open('/Users/MyComputer/wordList.txt')

textFileContent = textFile.read()

wordFinder = re.compile(r"""
[a-z]+ # finds words
[^noun|adjective|verb] # THIS IS WRONG
""", re.VERBOSE | re.I)

regexResults = wordFinder.findall(textFileContent)

2 个答案:

答案 0 :(得分:1)

import re

with open('wordList.txt') as f:
    for line in f:
        if re.search("^(?!noun|adjective|verb|\d)", line):
            print(line)

答案 1 :(得分:0)

我建议您使用negative look-ahead,这可以提供此正则表达式:

[^a-z](?!noun|adjective|verb)([a-z]+)