python - Python正则表达式:用户输入多个搜索词

原文 标签 python regex search user-input

我的代码应该做的是接受用户输入的搜索词,然后遍历tcp转储文件,并按包查找该词的每个实例。 src IP充当我输出中每个数据包的标头。

所以我在遍历第一个术语时似乎删除了fileIn问题。因此,当程序查看第二个用户输入的搜索词时,显然找不到任何东西。这是我所拥有的:

import re
searchTerms = []

fileIn = open('ascii_dump.txt', 'r')

while True:
    userTerm = input("Enter the search terms (End to stop): ")
    if userTerm == 'End':
        break
    else:
        searchTerms.append(userTerm)

ipPattern = re.compile(r'((?:\d{1,3}\.){3}\d{1,3})')

x = 0

while True:
    print("Search Term is:", searchTerms[x])
    for line in fileIn:
        ipMatch = ipPattern.search(line)
        userPattern = re.compile(searchTerms[x])
        userMatch = userPattern.search(line)

        if ipMatch is not None:
            print(ipMatch.group())

        if userMatch is not None:
            print(userMatch.group())
    x += 1
    if x >= len(searchTerms):
       break

最佳答案

您需要在for line in fileIn循环之后“倒带”文件:

...
fileIn.seek(0);
x += 1

关于python - Python正则表达式:用户输入多个搜索词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26850392/

相关文章:

python - Flask-SQLAlchemy backref函数和backref参数

python - 在Python中检测独立(非阻塞)线程中的按键

javascript - 从字符串中提取主题标签,直到出现特殊字符为止

php - 如何进行SQL查询,以选择与某个字符串匹配的所有行,然后根据匹配数对它们进行加权

python - URL 在我的 Django 项目中传递参数

python - 从元组列表中搜索元组索引

regex - 嵌套正则表达式的Emacs语法突出显示

python - 嵌套时获取外部 "Pair"

java - 减少Java的运行时间

algorithm - 逐字母搜索背后的数据结构是什么?