javascript-正则
正则表示式用于对字符串模式进行匹配及检查替换,是对字符串模式匹配的工具。
一 语法
正则表达式有两种写法
1.RegExp对象
var partten = new RegExp(pattern,modifiers);
2.表达式
var patt=/pattern/modifiers;
- pattern(模式)描述了表达式的模式
- pattern(修饰符)用于指定全局匹配/区分大小写的匹配和多行匹配
二 修饰符
- i 大小写不敏感
- g 全局匹配
- m 多行匹配
三 元字符
参考链接
https://developer.mozilla.org...
四 一些正则案例
1.匹配所有引号
let partten =/\"([^\"]*)\"/g; var str1='one "two three four" five "seven eight" nine'; console.log(str1.match(partten)[1]); //['"two three four"','"seven eight"'] var str2='"beep boop" whatever "tacos" eleven "eighty"'; console.log(str2.match(partten)[1]); //['"beep boop"','"tacos"','"eighty"'] var str='empty ""'; console.log(str.match(partten)[1]); //['""']
2.匹配一张名字为数字的 jpg 图片
let partten =/^([0-9]+).(jpe?g)$/;console.log(partten.test(
123.jpg)) //true console.log(partten.test(
123.jepg)) //true console.log(partten.test(
abc.jpeg)) //false console.log(partten.test(
123)) //false3.正确的 split 字符串
function split(str){
return str.split(/\s*,\s*/);
}
split(`1,2,3`); //['1', '2', '3']
split(`4, 5, 6, 7`); //['4', '5', '6', '7']
split(`1337`); // ['1337']
split(`a,\nb,\nc,\nd`); //['a', 'b', 'c', 'd']4.匹配末尾是.
function meta(str){
return /\.$/.test(str);
}
meta(`abc.`); //true
!meta(`abc`); // true
meta(`...`); //`...`