一个跟正则有关的字符串匹配问题
2016-03-17 17:28
465 查看
最近在做项目,用到了正则表达式,以前没有咋用过,所以不太熟,不说废话,直接说例子,一段文字:fasjfdhasljfhasldfhalkfdhas javascript akjdfkafhjsak;fa http https sfja;skldfjas;dfjaskdjakjdas
第一种方法:
数据文件:
写匹配正则函数:
![](http://img.blog.csdn.net/20160317162550796)
第二种方法:
数据文件:
匹配正则函数:
![](http://img.blog.csdn.net/20160317172539022)
var pattern = RegExp(“http”,’gi’);
这个pattern是一个正则对象,所以第二种方法会比较好用,因为没有类型的转换,不用分析两种情况。
请多多鼓励^_^
第一种方法:
数据文件:
module.exports = { "labels": { "JavaScript": [ "JavaScript", /ES ?6/ ], "HTTP": [ /http[^:]/], "HTML": [ "HTML", "HTML5" ], } };
写匹配正则函数:
function label(article) { var htmltext = article; var labels = []; for (var prop in objlabels) { var count = 0; var arrlabel = objlabels[prop]; var len = arrlabel.length; for (var i = 0; i < len; i++) { if(typeof(arrlabel[i]) != "string") { pattern = arrlabel[i].source; pattern = new RegExp(pattern,'gi'); console.log("处理过的pattern = " + pattern); console.log("处理过的pattern类型" + typeof(pattern)); } else { var pattern = new RegExp(arrlabel[i], 'gi'); console.log("正常pattern = " + pattern); console.log("正常的pattern类型" + typeof(pattern)); } var ret = htmltext.match(pattern); if (ret) { console.log("reg = "+ret); count += ret.length; } } } } }
第二种方法:
数据文件:
module.exports = { "labels": { "JavaScript": [ "JavaScript", "ES ?6"], "HTTP": ["http[^:]"], "HTML": [ "HTML", "HTML5" ], } };
匹配正则函数:
function label(article) { var htmltext = article; var labels = []; for (var prop in objlabels) { var count = 0; var arrlabel = objlabels[prop]; var len = arrlabel.length; for (var i = 0; i < len; i++) { var pattern = new RegExp(arrlabel[i], 'gi'); console.log("pattern = " + pattern); console.log("pattern类型" + typeof(pattern)); var ret = htmltext.match(pattern); if (ret) { count += ret.length; } } } }
var pattern = RegExp(“http”,’gi’);
这个pattern是一个正则对象,所以第二种方法会比较好用,因为没有类型的转换,不用分析两种情况。
请多多鼓励^_^
相关文章推荐
- URL拼接中文字符转UTF-8编码
- 交换
- 处理FF margin-top下降问题
- [其他] 蒙特卡洛(Monte Carlo)模拟手把手教基于EXCEL与Crystal Ball的蒙特卡洛成本模拟过程实例:
- MySQL配置文件my.cnf中文详解附mysql性能优化方法分享
- 开启web前端工作模式
- tplink路由器如何设置AP功能
- 斑点SimpleBlobDetector检测
- MySQL数据类型--日期和时间类型
- 关于iOS的学习路线图 (分享)
- 上传App到Store(三)提交新应用
- 指定“Vary: Accept-Encoding”标头 --压缩
- final关键字
- 红糖水,白糖水交换
- 第7章so逆向流程控制分析
- 将a与b的值进行交换
- Git命令参考手册(文本版)
- 理解AttributeUsage类
- 获取eclipse获取路径
- Shell编程-批量增删用户