掌握正则表达式(1)工具篇

准备

学习正则表达式([regular expression,缩写regex)需要有一个好用的工具来进行演练。
可以用文本编辑器或者编程语言进行演练。

1. 文本编辑器

现代的文本编辑器几乎都支持正则表达式,但是不一定很全面的,最好能找一个能支持Perl 5的文本编辑器。下面的编辑器都能完整的支持Perl 5正则表达式。
Windows系统:
UltraEdit 12.0以上版本
macOS系统:
TextWrangler或者BBEdit(官网说TextWrangler不兼容macOS 10.13,不过我用的好好的,没发现问题)
如果你用的是其它编辑器,你可以到下文演练部分测试下,看能不能用。

2. 编程语言(可选)

支持正则表达式强的编程语言首推Perl和Java,Python也行。我会用Python作为示例,Python不支持的正则表达式特性我会用Java。
如果你不会编程,也没关系,我介绍正则表达式,主要用文本编辑器,你略过关于编程的部分即可。

演练

1. 文本编辑器

用你的文本编辑器输入的文字

Hello<b>t<b>t
hell<b>t

在查找框输入下面的正则表达式

^\b(?:[Hhg-h])\w\x6c{1,}o?<.*?>(?<!t)
正则表达式示例

注意:打开“区分大小写”,和“正则表达式“选项(TextWrangler编辑器是Grep选项)。

若能找到两处匹配文本Hello<b>hell<b>说明你的编辑器支持正则表达式比较全面,可以用于接下来的学习。

2. 编程语言

用Python做上面的查找练习

import re
regex = r'^\b(?:[Hhg-h])\w\x6c{1,}o?<.*?>(?<!t)'
text = 'Hello<b>t<b>t\nhell<b>t'
all_match = re.findall(regex, text, flags=re.M)
print(all_match)        # ['Hello<b>', 'hell<b>']

说明:以r或者R开头的字符串,字符不会进行反斜杠转义,如:r'\n'表示一个反斜杠,一个字母n,不是表示换行。

相关文章

掌握正则表达式(2)基础篇(一)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 推荐几个正则表达式编辑器 Debuggex :https://www.debuggex.com/ PyRegex:...
    木易林1阅读 11,832评论 9 151
  • 本文译自 制作正则引擎的作者 Jan Goyvaerts 为工具 RegexBuddy 写的教程版权归原作者所有注...
    极客圈阅读 3,389评论 0 25
  • 什么是正则表达式   正则表达式也叫做匹配模式(Pattern),它由一组具有特定含义的字符串组成,通常用于匹配和...
    伊森H阅读 704评论 2 2
  • `>本文是 Jan Goyvaerts 为 RegexBuddy 写的教程的译文,版权归原作者所有 在本文中讲述了...
    极客圈阅读 2,201评论 0 5
  • 下午的2点,晴天,暖阳,朗风。好天气啊。可惜,这份会心没人看重了。成年人的习以为常把活泼抹杀一个干净。 孤独,并不...
    soulwu阅读 262评论 0 0

友情链接更多精彩内容