标签:子串 height 数组元素 参数 round regexp d3d order 括号
正则表达式是regular expression(规则表达式),就是定义字符串规则的表达式,语法基于一种古老的perl语言,它描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
正则表达式并不是只有前端才有,很多后端语言也都支持正则,正则本身是独立于语言之外的。当初的浏览器是用来浏览一些新闻之类的文字信息,那么对于字符串的操作就比较重要了,比如验证表单,模糊搜索等。
1 var reg=new RegExp(‘a‘) 2 var str=‘abcdefg‘; 3 console.log(reg.test(str)); // 返回bool值true,代表是否匹配成功
var reg = /a/ var str=‘abcdefg‘; console.log(reg.test(str)) // true
[abcde]
匹配abcde其中任意一个
[a-z]
匹配所有小写字母
[0-9]
匹配任意一个数字
/(ab) | (cd)/
匹配 ‘ab‘ 或者 ‘cd‘
/(a|b)cd/
匹配 ‘acd‘ 或者 ‘bcd‘
注意:小括号、竖线不要放在 [ ] 内(无意义)
^ (不在中括号里)匹配字符串开头
所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。
元字符 | 含义 | 等价表达式 |
数字 | [0-9] | |
非数字 | [^0-9] | |
\w | 数字,字母,下划线 | [a-z0-9_A-Z] |
\W | 非数字,字母,下划线 | [^a-z0-9_A-Z] |
\s | 空白字符 | |
\S | 非空白字符 | |
. | 全部字符 | |
\b | 匹配单词边界 | |
\B | 匹配 非 单词边界 | |
\0(数字0) | 匹配 NUL 字符 | |
\n | 匹配 换行符 | |
\f | 匹配 换页符 | |
\r | 匹配 回车符 | |
\t | 匹配 制表符 | |
\v | 匹配 垂直制表符 | |
\u4e00 - \u9fa5 | 验证中文 | |
\u5343\u950b\u4e92\u8054 | 千锋互联 |
正则表达式的一个符号块只能匹配文本中的一个符号,如果要多次匹配那么我们就需要量词。
量词 | 含义 | 等价表达式 |
{n} | 匹配n次 | |
{n,m} | 最少n次,最多m次 | |
{n,} | 最少n次,最多不限 | |
+ | 最少1次,最多不限 | {1,} |
? | 可有可无,最多一个 | {0,1} |
* | 可以有也可以没有,个数不限 | {0,} |
i 代表让正则不区分大小写
g 代表全局查找
m 代表多行查找(必须与g一起使用,并且,当使用^和$模式时才会起作用)
如:
1 var re = new RegExp(‘a‘, ‘i‘) 2 var re= /a/i
1 var re = new RegExp(‘a‘, ‘ig‘) 2 var re= /a/ig
正则中有一些字符本身是具有含义的,那么如果我们要匹配这个字符就需要用到 \ 转义
/ 匹配 / | \\ 匹配 \ | \. 匹配 . |
\* 匹配 * | \+ 匹配 + | ? 匹配 ? |
\ | 匹配| | \( 匹配 ( |
\[ 匹配 [ | \] 匹配 ] | \{ 匹配 { |
\} 匹配 } | \’ 匹配 单引号 | \” 匹配 双引号 |
\xxx 查找以八进制数 xxx 规定的字符 | \xdd 查找以十六进制数 dd 规定的字符 | \uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符 |
方法(API) | 描述 |
test | 用来测试某个字符串是否与正则匹配,匹配就返回true,否则返回false |
compile | 该方法的作用是能够对正则表达式进行编译,被编译过的正则在使用的时候效率会更高,适合于对一个正则多次调用的情况 |
exec | 返回的是一个数组,数组元素为匹配的子字符串 |
1 var reg = /a/ 2 var str = ‘abcdefg‘; 3 console.log(reg.test(str)); // true
1 var reg=/[abc]/gi 2 console.log(reg.test(‘a‘)) 3 4 reg=/[cde]/gi 5 reg.compile(reg) 6 console.log(reg.test(‘a‘)) 7 console.log(reg.test(‘a‘))
var str = ‘dadf123dsafd33dfds;;;[]123dg;123‘ var reg = /\d+/ var arr = reg.exec(str) console.log(arr) // [‘123‘]
方法(API) | 描述 |
search | 查找第一次匹配的子字符串的位置 ,如果找到就返回一个number类型的index值,否则返回-1 |
该方法用来将字符串中的某些子串替换为需要的内容,接受两个参数,第一个参数可以为正则或者子字符串,表示匹配需要被替换的内容,第二个参数为被替换的新的子字符串 | |
split | 将一个字符串拆分成一个数组,它接受一个正则或者子字符(串)作为参数,返回一个数组 |
match | 接收一个正则作为参数,用来匹配一个字符串,返回一个数组 |
标签:子串 height 数组元素 参数 round regexp d3d order 括号
原文地址:https://www.cnblogs.com/rkgg07kj3gs/p/12849403.html