掌握正则表达式(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. 文本编辑器

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

Hellott
hellt

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

^\b(?:[Hhg-h])\w\x6c{1,}o?<.*?>(?
掌握正则表达式(1)工具篇_第1张图片
正则表达式示例

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

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

2. 编程语言

用Python做上面的查找练习

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

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

相关文章

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

你可能感兴趣的:(掌握正则表达式(1)工具篇)