Open lostvita opened 3 years ago
举例几个应用场景
@某人
var s = '项目相关各端同学 @张三 @李四 @王五 记得下班前拆分下各自的任务。'; s.match(/(?<=@).+/g); // output: ["张三", "李四", "王五"]
var s = '据央视网报道,#广州河涌边现大量红火蚁#,各位街坊小心留意啦。'; s.match(/(?<=#).+(?=#)/g); // output: ["广州河涌边现大量红火蚁"]
emoji表情
var emoji = [捂脸]; emoji.match(/(?<=\[).+(?=\])/g); // output: ["捂脸"]
一级标题
var h1 = '#一级标题'; h1.match(/(?<=^#).+/g); // output: ["一级标题"]
二级标题
var h2 = '##二级标题'; h2.match(/(?<=^#{2}).+/g); // output: ["二级标题"]
引用
var quoto = '> 勾股定理指指角三角形中两指角边的平方和等于斜边的平方。' quoto.match(/(?<=\>\s).+/g); // output: ["勾股定理指指角三角形中两指角边的平方和等于斜边的平方。"]
匹配行内代码块
var inlineCode = '前端主流框架包含:`vue`、`React`与`angular`等,其他非主流不胜枚举' inlineCode.match(/(?<=`)[a-z]+?(?=`)/gi); // output: ["vue", "React", "angular"]
欢迎补充其他应用场景......
什么是断言
例如,/Jack(?=Sprat)/会匹配到'Jack'仅当它后面跟着'Sprat'。
例如,/\d+(?!.)/.exec("3.141")匹配‘141’而不是‘3.141’。
例如,/(?<=Jack)Sprat/会匹配到' Sprat '仅仅当它前面是' Jack '。
例如, /(?<!.)\d+/.exec('3.141')匹配‘3’而不是'141'。
举例几个应用场景
社交应用
@某人
话题
emoji表情
markdown语法
一级标题
二级标题
引用
匹配行内代码块
欢迎补充其他应用场景......