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 相关文章推荐
火狐4、谷歌12不支持Jquery Validator的解决方法分享
Jun 20 Javascript
一个JQuery写的点击上下滚动的小例子
Aug 27 Javascript
跨浏览器的事件对象介绍
Jun 27 Javascript
JS delegate与live浅析
Dec 21 Javascript
Windows8下搭建Node.js开发环境教程
Sep 03 Javascript
深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
Mar 05 Javascript
JavaScript中判断函数、变量是否存在
Jun 10 Javascript
Node.js中的process.nextTick使用实例
Jun 25 Javascript
javascript实现粘贴qq截图功能(clipboardData)
May 29 Javascript
详解VUE的状态控制与延时加载刷新
Mar 27 Javascript
微信小程序实现Session功能及无法获取session问题的解决方法
May 07 Javascript
微信小程序开发搜索功能实现(前端+后端+数据库)
Mar 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 函数call_user_func和call_user_func_array用法详解
2014/03/02 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
JavaScript 继承详解(三)
2009/07/13 Javascript
被jQuery折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
2010/01/22 Javascript
基于JavaScript 类的使用详解
2013/05/07 Javascript
js实现点击图片将图片地址复制到粘贴板的方法
2015/02/16 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
2015/02/20 Javascript
JavaScript使用yield模拟多线程的方法
2015/03/19 Javascript
jquery中toggle函数交替使用问题
2015/06/22 Javascript
详解JavaScript逻辑And运算符
2015/12/04 Javascript
angularjs下拉框空白的解决办法
2017/06/20 Javascript
基于Vue的延迟加载插件vue-view-lazy
2018/05/21 Javascript
解决vue脚手架项目打包后路由视图不显示的问题
2018/09/20 Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
2019/11/13 Javascript
vue element 中的table动态渲染实现(动态表头)
2019/11/21 Javascript
JS实现transform实现扇子效果
2020/01/17 Javascript
[04:41]2014DOTA2国际邀请赛 Liquid顺利突围晋级正赛
2014/07/09 DOTA
[01:05:00]2018国际邀请赛 表演赛 Pain vs OpenAI
2018/08/24 DOTA
Python基础之getpass模块详细介绍
2017/08/10 Python
Python批量更改文件名的实现方法
2017/10/29 Python
numpy基础教程之np.linalg
2019/02/12 Python
Python中函数参数匹配模型详解
2019/06/09 Python
深入了解Django View(视图系统)
2019/07/23 Python
系统管理员的职责包括那些?管理的对象是什么?
2016/09/20 面试题
《狐假虎威》教学反思
2014/02/07 职场文书
小学教师自我鉴定范文
2014/03/20 职场文书
大队干部竞选演讲稿
2014/04/28 职场文书
小学班级特色活动方案
2014/08/31 职场文书
乡镇党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
廉政承诺书2015
2015/04/28 职场文书
聚众斗殴罪辩护词
2015/05/21 职场文书
简短的36句中秋节祝福信息语句
2019/09/09 职场文书
MySQL中出现乱码问题的终极解决宝典
2021/05/26 MySQL
使用vue判断当前环境是安卓还是IOS
2022/04/12 Vue.js
python井字棋游戏实现人机对战
2022/04/28 Python
Go 内联优化让程序员爱不释手
2022/06/21 Golang