正则初体验

正则

正则是什么?

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。

在学习正则前,我们先复习一下字符串

indexOf() 从左到右索引
substring(x,y) 从第x个到第y个查找
substr(x,y) 从第x个开始查,查y个长度
slice() 与substring相同
split() 将括号内的字符串转化为数组
.length 字符串的长度
replce(x,y) x为要替换的值,y为替换的值
search(x) 找到x并返回所在位置

正则的优点

功能强大,代码简洁

正则的缺点

符号繁多难理解,常被称为火星文。

但是我们不用怕,因为下面我就要说正则各种符号的意义

正则如何表达呢?

我们有两种表达方式

var a = /x/     
var a = new RegExp("x","y")     

参数x是一个字符串,指定了正则表达式的模式或其他正则表达式
参数y是一个可选的字符串,包含属性 “g”、”i” 和 “m”,分别用于指定全局匹配、区分大小写的匹配和多行匹配

修饰符

  • i (执行对大小写不敏感的匹配。)
  • g (执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。)
  • m (执行多行匹配。)

特殊字符

() (用来分组)
[] (查找括号内字符)
{} (匹配括号内字符数量的字符)
n+ (匹配任何包含至少一个 n 的字符串)
n* (匹配任何包含零个或多个 n 的字符串)
n? (匹配任何包含零个或一个 n 的字符串)
n{X} (匹配包含 X 个 n 的序列的字符串)
n{X,Y} (匹配包含 X 至 Y 个 n 的序列的字符串)
n{X,} (匹配包含至少 X 个 n 的序列的字符串)
n$ (匹配任何结尾为 n 的字符串)
^n (匹配任何开头为 n 的字符串)
?=n (匹配任何其后紧接指定字符串 n 的字符串)
?!n (匹配任何其后没有紧接指定字符串 n 的字符串)

预定义字符

\w (查找单词字符)
\W (查找非单词字符)
\d (查找数字)
\D (查找非数字字符)
\s (查找空白字符)
\S (查找非空白字符)
\b (匹配单词边界)
\B (匹配非单词边界)
\0 (查找 NUL 字符)
\n (查找换行符)
\f (查找换页符)
\r (查找回车符)
\t (查找制表符)
\v (查找垂直制表符)

    原文作者:Smallmotor
    原文地址: https://segmentfault.com/a/1190000010839031
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞