python关于正则表达式的一些使用备忘录

在知乎上看到一个关于使用python,进行正则表达式替换的问题:https://www.zhihu.com/question/54912957

正好这段时间也做了一些这方面的工作,在这里回顾一下。

python关于正则表达式的一些使用备忘录

这是黄哥回答给出的实现代码。我的疑惑在于,为什么能够匹配到when之后,还可以继续匹配后面的单词。


然后经过我测试发现:

import re


def temp():
    txt = "when doves cry"
    when = '1'
    doves = '2'
    cry = '3'


    res = re.match(r'(\w+)', txt)
    return res


print (temp())

只能打印出when。如果想要匹配所有字符,需要使用re.findall函数。

在这个问题上,已经有人较完整的整理过了:https://www.crifan.com/python_re_search_vs_re_findall/


另外:Lambda是用来简易的定义函数,locals()是用来调用名字空间

局部名字空间可以通过内置的 locals 函数来访问。全局(模块级别)名字空间可以通过 globals 函数来访问

在这里做一个补充说明。

通过以上这些途径,可以方便的定向替换文本中的文字,和做其他的文字处理。