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 相关文章推荐
javascript动态改变img的src属性图片不显示的解决方法
Oct 20 Javascript
js判断FCKeditor内容是否为空的两种形式
May 14 Javascript
form.submit()不能提交表单的原因分析
Oct 23 Javascript
AngularJs根据访问的页面动态加载Controller的解决方案
Feb 04 Javascript
JS实现让访问者自助选择网页文字颜色的方法
Feb 24 Javascript
js网页滚动条滚动事件实例分析
May 05 Javascript
jQuery删除节点用法示例(remove方法)
Sep 08 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
Dec 31 Javascript
canvas绘图不清晰的解决方案
Feb 28 Javascript
ES6下React组件的写法示例代码
May 04 Javascript
node文件批量重命名的方法示例
Oct 23 Javascript
JS中使用cavas截图网页并解决跨域及模糊问题
Nov 13 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
smarty获得当前url的方法分享
2014/02/14 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
2016/03/21 PHP
yii框架使用分页的方法分析
2019/07/25 PHP
laravel框架数据库配置及操作数据库示例
2019/10/10 PHP
JavaScript Base64编码和解码,实现URL参数传递。
2006/09/18 Javascript
一个简单的javascript类定义例子
2009/09/12 Javascript
jQuery数组处理代码详解(含实例演示)
2012/02/03 Javascript
JavaScript栏目列表隐藏/显示简单实现
2013/04/03 Javascript
jQuery隔行变色与普通JS写法的对比
2013/04/21 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
功能强大的Bootstrap效果展示(二)
2016/08/03 Javascript
JS去除重复并统计数量的实现方法
2016/12/15 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
React复制到剪贴板的示例代码
2017/08/22 Javascript
深入理解JavaScript的async/await
2018/08/05 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
2019/07/10 jQuery
js时间转换毫秒的实例代码
2019/08/21 Javascript
vuex页面刷新导致数据丢失的解决方案
2020/12/10 Vue.js
[15:20]DOTA2-DPC中国联赛 正赛 Elephant vs Aster 选手采访
2021/03/11 DOTA
Python读写unicode文件的方法
2015/07/10 Python
老生常谈python函数参数的区别(必看篇)
2017/05/29 Python
在python中bool函数的取值方法
2018/11/01 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
2019/04/12 Python
十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)
2019/04/26 Python
使用Rasterio读取栅格数据的实例讲解
2019/11/26 Python
pytorch 实现在一个优化器中设置多个网络参数的例子
2020/02/20 Python
Python json模块与jsonpath模块区别详解
2020/03/05 Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
2020/07/01 Python
python3.7添加dlib模块的方法
2020/07/01 Python
教师自荐信
2013/12/10 职场文书
争论的故事教学反思
2014/02/06 职场文书
工厂清洁工岗位职责
2015/02/14 职场文书
党员干部学法用法心得体会
2016/01/21 职场文书
Python3 如何开启自带http服务
2021/05/18 Python
python unittest单元测试的步骤分析
2021/08/02 Python
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS