正则表达式是用来进行文本处理的技术,是
语言无关
的,在几乎所有语言中都有实现。可以用于项目中的
采集器、敏感词过滤、字符串查找替换、验证(合法性检查)、信息提取、网络爬虫...是很实用且作为一个程序员必须掌握的知识/
技术。
一个正则表达式就是由普通字符以及特殊字符
(
称为
元字符
)
组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字
符模式与所搜索的字符串进行匹配。
要想学会正则表达式,理解元字符是一个必须攻克的难关(不用刻意记
)。
比如:要对用户的输入做验证(假设只能让用户输入数字及字母)就有一用
^[0-9a-zA-Z]
+$ //只能以数字大小写字母组合而成的多个正
则表达
式
正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。
正则表达式示例
表达式 | 匹配 |
---|---|
/^\s*$/ |
匹配空行。 |
/\d{2}-\d{5}/ |
验证由两位数字、一个连字符再加 5 位数字组成的 ID 号。 |
/<\s*(\S+)(\s[^>]*)?>[\s\S]*<\s*\/\1\s*>/ |
匹配 HTML 标记。 |
下表包含了元字符的完整列表以及它们在正则表达式上下文中的行为:
字符 | 说明 |
---|---|
\ |
将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,“n”匹配字符“n”。“\n”匹配换行符。序列“\\”匹配“\”,“\(”匹配“(”。 |
^ |
匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与“\n”或“\r”之后的位置匹配。 |
$ |