python中的grep变量

python中的grep变量,python,grep,Python,Grep,我需要python中类似grep的东西 我已经做了研究,发现re模块是合适的 我需要在变量中搜索特定字符串要在变量中搜索特定字符串,您只需在中使用: >>> 'foo' in 'foobar' True >>> s = 'foobar' >>> 'foo' in s True >>> 'baz' in s False 使用将是最简单的方法。如果您正在查找的是文本字符串,则可以只搜索一个文本字符串(尽管运算符中的字符串更符合

我需要python中类似grep的东西 我已经做了研究,发现re模块是合适的
我需要在变量中搜索特定字符串

要在变量中搜索特定字符串,您只需在中使用

>>> 'foo' in 'foobar'
True
>>> s = 'foobar'
>>> 'foo' in s
True
>>> 'baz' in s
False
使用将是最简单的方法。如果您正在查找的是文本字符串,则可以只搜索一个文本字符串(尽管
运算符中的字符串
更符合您的目的,并且您需要转义正则表达式字符),或者搜索传递给
grep
的任何字符串(虽然我不知道这两种语言在语法上有什么不同,但我确信它们是有区别的)


听起来你真正想要的是能够打印一个大的子字符串,这样你就可以很容易地看到一个特定的子字符串在哪里

def grep(large_string, substring):
    for line, i in enumerate(large_string.split('\n')):
        if substring in line:
            print("{}: {}".format(i, line))
这将只打印包含子字符串的行。但是,您将丢失大量上下文。如果您想要真正的grep,请将第
行中的
If子字符串替换为使用
re
模块进行正则表达式匹配的内容

def highlight(large_string, substring):
    from colorama import Fore
    text_in_between = large_string.split(substring)
    highlighted_substring = "{}{}{}".format(Fore.RED, substring, Fore.RESET)
    print(highlighted_substring.join(text_in_between))

这将打印整个大字符串,但要使用红色的子字符串。请注意,您需要
pip安装colorama
,它才能工作。当然,您可以将这两种方法结合起来。

很高兴知道。您对它有疑问吗?您是否已经完成了Python教程的学习?
def highlight(large_string, substring):
    from colorama import Fore
    text_in_between = large_string.split(substring)
    highlighted_substring = "{}{}{}".format(Fore.RED, substring, Fore.RESET)
    print(highlighted_substring.join(text_in_between))