简单高效有用的正则表达式
什么是正则表达式?
正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。
一个正则表达式是一种从左到右匹配主体字符串的模式。 “Regular expression”这个词比较拗口,我们常使用缩写的术语“regex”或“regexp”。正则表达式可以从一个基础字符串中根据一定的匹配模式替换文本中的字符串、验证表单、提取字符串等等。
想象你正在写一个应用,然后你想设定一个用户命名的规则,让用户名包含字符、数字、下划线和连字符,以及限制字符的个数,好让名字看起来没那么丑。我们使用以下正则表达式来验证一个用户名:
以上的正则表达式可以接受 john_doe
、jo-hn_doe
、john12_as
。但不匹配Jo
,因为它包含了大写的字母而且太短了。
1. 基本匹配
正则表达式其实就是在执行搜索时的格式,它由一些字母和数字组合而成。例如:一个正则表达式 the
,它表示一个规则:由字母t
开始,接着是h
,再接着是e
。
"the" => The fat cat sat on the mat.
在线练习
正则表达式123
匹配字符串123
。它逐个字符的与输入的正则表达式做比较。
正则表达式是大小写敏感的,所以The
不会匹配the
。
"The" => The fat cat sat on the mat.
在线练习
正则表达式是大小写敏感的, 所以The
不会匹配the
.
当然也可以让不区分大小写 /the/i,中的i就是不区分大小写,后面会有介绍
2. 元字符
正则表达式主要依赖于元字符。元字符不代表他们本身的字面意思,他们都有特殊的含义。一些元字符写在方括号中的时候有一些特殊的意思。以下是一些元字符的介绍:
[ ] ( ) { } . * + "center">^
从开始行开始匹配.
$
从末端开始匹配.
2.1 点运算符 .
.
是元字符中最简单的例子。 .
匹配任意单个字符,但不匹配换行符。例如,表达式.ar
匹配一个任意字符后面跟着是a
和r
的字符串。
".ar" => The car parked in the garage.