Javascript中查找不以XX字符结尾的单词示例代码


Posted in Javascript onOctober 15, 2013

首先,让我声明一下,我在写这篇文章之前花了2个多小时在弄正则表达式。悲~悲~悲~

按照一般的思路,先来看看其他几个插找方式: 我以字符串

var str = "eattd gebcat gedat jadu geat beu";

?槔?印

1.以"ge"?榭?返模?峁?Ω檬?gebcat, gedat, geat"。因?榈ゴ室?ge"开头,则我可以放入一个新的数组供以后使用。

var exp1 = /\bge\w+/ig; var matchedStr = exp1.exec(str); 
while (matchedStr != null && matchedStr.index < str.length) { 
if (matchedStr[0] != null) { 
inv.innerHTML += "<br>The result is: " + matchedStr[0]; 
//newStr = newStr.replace(matchedStr[0]); 
wordsArr.push(matchedStr[0]); 
} 
matchedStr = exp1.exec(str); 
}

2.以"at"结尾的单词,结果??gebcat","gedat","geat"。同样,我可以放入数组。
var exp1 = /\w+(at\b)/ig;

3.不以"ge"开头的单词,我需要另外一个数组来存放。
var exp1 = /\b(?!ge)\w+/ig; 
var wordsArr = new Array(); 
var matchedStr = exp1.exec(str); while (matchedStr != null && matchedStr.index < str.length) { 
if (matchedStr[0] != null) { 
inv.innerHTML += "<br>The result is: " + matchedStr[0]; 
newStr = newStr.replace(matchedStr[0]); 
wordsArr.push(matchedStr[0]); 
} 
matchedStr = exp1.exec(str); 
} 
//wordsArr = newStr.split(" "); 
for (var i = 0; i < wordsArr.length;) { 
if (wordsArr[i] == "undefined") { 
wordsArr.splice(i,1); 
} else 
i++ 
}

4. 不以"at"结尾的的单词,好,问题来了。Javascript中的Regex比较弱,不支持逆环视否定,因此不能写:
var exp1 = /\w+(?<!at\b)/ig;


var exp1 = /\w+(?!at\b)/ig;

的意思中单词结尾的右边不能??at",那是不可能的,\b\w就是查找单词边界。我换一个角度来写,找到以at结尾的,把该单词从原来的字符串中删除。然后放入一个新数组。
function RegularExpTest() { 
var inv = document.getElementById("RegexTest"); 
var str = "eattd gedbcat gedat jadu geat beu"; 
var newStr = str; 
var exp1 = /\w+at\b/ig; 
var wordsArr = new Array(); 
var matchedStr = exp1.exec(str); while (matchedStr != null && matchedStr.index < str.length) { 
if (matchedStr[0] != null) { 
inv.innerHTML += "<br>The result is: " + matchedStr[0]; 
newStr = newStr.replace(matchedStr[0]); 
} 
matchedStr = exp1.exec(str); 
} 
wordsArr = newStr.split(" "); 
for (var i = 0; i < wordsArr.length;) { 
if (wordsArr[i] == "undefined") { 
wordsArr.splice(i,1); 
} else 
i++ 
} 
inv.innerHTML += "<br>The result is: " + wordsArr; 
}

OK,完成了!

思则得,不思则不得。

Javascript 相关文章推荐
Jquery调用webService远程访问出错的解决方法
May 21 Javascript
javascript动画浅析
Aug 30 Javascript
JS实现随机化快速排序的实例代码
Aug 01 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
Jun 08 Javascript
js弹出对话框方式小结
Nov 17 Javascript
vue.js中Vue-router 2.0基础实践教程
May 08 Javascript
使用vue-cli导入Element UI组件的方法
May 16 Javascript
在Koa.js中实现文件上传的接口功能
Oct 08 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
Oct 10 jQuery
Vue结合路由配置递归实现菜单栏功能
Jun 16 Javascript
JavaScript中Object、map、weakmap的区别分析
Dec 15 Javascript
详解阿里Node.js技术文档之process模块学习指南
Jan 04 Javascript
通过js获取div的background-image属性
Oct 15 #Javascript
js日期相关函数总结分享
Oct 15 #Javascript
JavaScript的继承的封装介绍
Oct 15 #Javascript
jquery实现兼容浏览器的图片上传本地预览功能
Oct 14 #Javascript
js 距离某一时间点时间是多少实现代码
Oct 14 #Javascript
js算法中的排序、数组去重详细概述
Oct 14 #Javascript
鼠标拖动实现DIV排序示例代码
Oct 14 #Javascript
You might like
php通过session防url攻击方法
2014/12/10 PHP
php数组添加元素方法小结
2014/12/20 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
2015/10/09 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
2017/10/10 PHP
php设计模式之建造器模式分析【星际争霸游戏案例】
2020/01/23 PHP
走出JavaScript初学困境—js初学
2008/12/29 Javascript
用js读、写、删除Cookie代码分享及详细注释说明
2014/06/05 Javascript
Javascript中的几种URL编码方法比较
2015/01/23 Javascript
jQuery实现表格行上下移动和置顶效果
2015/06/05 Javascript
理解javascript中Map代替循环
2016/02/26 Javascript
极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
2016/05/27 Javascript
JavaScript中获取时间的函数集
2016/08/16 Javascript
使用JavaScript获取Request中参数的值方法
2016/09/27 Javascript
详解微信开发中snsapi_base和snsapi_userinfo及静默授权的实现
2017/03/11 Javascript
vue登录路由验证的实现
2017/12/13 Javascript
vue中的数据绑定原理的实现
2018/07/02 Javascript
在vue中读取本地Json文件的方法
2018/09/06 Javascript
微信小程序签到功能
2018/10/31 Javascript
使用 webpack 插件自动生成 vue 路由文件的方法
2019/08/20 Javascript
jQuery实现每日秒杀商品倒计时功能
2019/09/06 jQuery
Nodejs使用archiver-zip-encrypted库加密压缩文件时报错(解决方案)
2019/11/18 NodeJs
JavaScript this使用方法图解
2020/02/04 Javascript
vue 页面回退mounted函数不执行的解决方案
2020/07/26 Javascript
[03:46]显微镜下的DOTA2第七期——满血与残血
2014/06/20 DOTA
Python获取远程文件大小的函数代码分享
2014/05/13 Python
浅谈Python中eval的强大与危害
2019/03/13 Python
Django admin model 汉化显示文字的实现方法
2019/08/12 Python
python修改文件内容的3种方法详解
2019/11/15 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
哈萨克斯坦移动和数字技术在线商店:SatelOnline.kz
2020/09/04 全球购物
运动会稿件300字
2014/02/14 职场文书
2014年五四青年节活动方案
2014/03/29 职场文书
高中教师个人工作总结
2015/02/10 职场文书
演讲稿之开卷有益
2019/08/07 职场文书
JS数组去重详情
2021/11/07 Javascript
InterProcessMutex实现zookeeper分布式锁原理
2022/03/21 Java/Android