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的一个简单的鼠标跟随提示效果
Sep 23 Javascript
ie下jquery.getJSON的缓存问题的处理方法
Mar 29 Javascript
javascript新建标签,判断键盘输入,以及判断焦点(示例代码)
Nov 25 Javascript
jquery单选框radio绑定click事件实现方法
Jan 14 Javascript
Javascript 字符串模板的简单实现
Feb 13 Javascript
Vue的百度地图插件尝试使用
Sep 06 Javascript
如何更好的编写js async函数
May 13 Javascript
vue实现文件上传功能
Aug 13 Javascript
element ui table 增加筛选的方法示例
Nov 02 Javascript
JS实现li标签的删除
Apr 12 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
Nov 12 Javascript
Vue中父子组件的值传递与方法传递
Sep 28 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
《DOTA3》开发工作已经开始 《DOTA3》将代替《DOTA2》
2021/03/06 DOTA
PHP脚本的10个技巧(4)
2006/10/09 PHP
通过缓存数据库结果提高PHP性能的原理介绍
2012/09/05 PHP
Php header()函数语法及使用代码
2013/11/04 PHP
php计算两个日期相差天数的方法
2015/03/14 PHP
使用php-timeit估计php函数的执行时间
2015/09/06 PHP
PHP实现的猴王算法(猴子选大王)示例
2018/04/30 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
2020/08/06 PHP
通过代码实例解析PHP session工作原理
2020/12/11 PHP
javascript web对话框与弹出窗口
2009/02/22 Javascript
全面理解面向对象的 JavaScript(来自ibm)
2013/11/10 Javascript
用js控制组织结构图可以任意拖拽到指定位置
2014/01/17 Javascript
jquery操作checkbox实现全选和取消全选
2014/05/02 Javascript
jQuery实现的Div窗口震动特效
2014/06/09 Javascript
TypeError document.getElementById(...) is null错误原因
2015/05/18 Javascript
JavaScript实现的简单烟花特效代码
2015/10/20 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
2016/05/09 Javascript
浅谈angularJS的$watch失效问题的解决方案
2017/08/11 Javascript
JavaScript代码执行的先后顺序问题
2017/10/29 Javascript
jQuery实现的别踩白块小游戏完整示例
2019/01/07 jQuery
nodejs实现的http、https 请求封装操作示例
2020/02/06 NodeJs
Vue项目打包部署到apache服务器的方法步骤
2021/02/01 Vue.js
tensorflow 获取变量&amp;打印权值的实例讲解
2018/06/14 Python
Python3实现的简单三级菜单功能示例
2019/03/12 Python
Python读写操作csv和excle文件代码实例
2020/03/16 Python
python将logging模块封装成单独模块并实现动态切换Level方式
2020/05/12 Python
使用python实现名片管理系统
2020/06/18 Python
python+selenium实现12306模拟登录的步骤
2021/01/21 Python
vue项目实现分页效果
2021/03/24 Vue.js
英语文学专业学生的自我评价
2013/10/31 职场文书
本科毕业生自荐信
2014/05/26 职场文书
党员干部廉洁承诺书
2014/05/28 职场文书
小学竞选班长演讲稿
2014/09/09 职场文书
教师政风行风评议心得体会
2014/10/21 职场文书
企业廉洁教育心得体会
2016/01/20 职场文书
Python实现猜拳与猜数字游戏的方法详解
2022/04/06 Python