本例中,我们使用re.findall匹配变量text中所有被双下划线包围的内容(每个均为玩家需要输入答案进行替代的内容),以列表形式返回 。然后,对列表中的元素进行循环,通过每个提示来要求玩家提供一个新的单词 。之后,创建一个新的字符串,将提示替换为玩家输入的词 。循环结束后,打印替换完成后的新字符串 。
17.7 转义我们可以在正则表达式中对字符进行转义(忽略字符的意义,直接进行匹配) 。在正则表达式中的字符前加上一个反斜杠即可进行转义:
# http://tinyurl.com/zkbumfj$ echo I love $ <strong>|</strong> grep \$>> I love $
通常情况下,美元符号的意思是出现在匹配文本行尾时才有效,但是由于我们进行了转义,这个正则表达式只是匹配目标文本中的美元符号 。
Python实现如下:
01# http://tinyurl.com/zy7pr41020304<strong>import</strong> re050607line = "I love $"080910m = re.findall("\$",11line,12re.IGNORECASE)131415print(m)>> ['$']
17.8 正则工具找到匹配模式的正则表达式是一件很困难的事 。可前往http://theselftaughtprogrammer. io/regex了解有助于创建正则表达式的工具 。
17.9 术语表正则表达式:定义检索模式的字符串序列 。
菜单:代码中隐藏的信息 。
贪婪匹配:尽量多地匹配文本的正则表达式 。
非贪婪匹配:尽可能少地进行文本匹配的正则表达式 。
本文摘自《Python编程无师自通——专业程序员的养成》
推荐阅读
- 机器学习领域大佬们都推荐的书单
- 机器视觉——机器学习算法优缺点综述
- 机器学习算法的终极对决
- 实用机器学习:什么是机器学习?看完就明白了
- 计算机端口详解
- 2 人工智能——机器学习免费教程
- 茶叶与中国佛教,新安乡组织茶叶加工企业赴徽州区参观学习
- 开源!适用于Win和Linux平台的YOLO4和YOLO3
- 不合适初学者 揭秘JAVA JVM内幕
- 《机器学习算法的几大分类》