乐趣区

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)) //false
3. 正确的 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(`…`); //`…`

退出移动版