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 相关文章推荐
在次封装easyui-Dialog插件实现代码
Nov 14 Javascript
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
Apr 28 Javascript
纯Javascript实现Windows 8 Metro风格实现
Oct 15 Javascript
JavaScript入门基础
Aug 12 Javascript
js enter键激发事件实例代码
Aug 17 Javascript
Angularjs实现mvvm式的选项卡示例代码
Sep 08 Javascript
简单实现jQuery多选框功能
Jan 09 Javascript
Javascript中引用类型传递的知识点小结
Mar 06 Javascript
使用gulp构建前端自动化的方法示例
Dec 25 Javascript
jQuery each和js forEach用法比较
Feb 27 jQuery
QML实现圆环颜色选择器
Sep 25 Javascript
react+antd 递归实现树状目录操作
Nov 02 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
德生PL990,目前市面上唯一一款便携式插卡蓝牙全波段高性能收音机
2021/03/02 无线电
用PHP读取flv文件的播放时间长度
2009/09/03 PHP
AES加解密在php接口请求过程中的应用示例
2016/10/26 PHP
PHP大文件及断点续传下载实现代码
2020/08/18 PHP
javascript学习笔记(十九) 节点的操作实现代码
2012/06/20 Javascript
Javascript学习笔记之 函数篇(三) : 闭包和引用
2014/11/23 Javascript
详解JavaScript中void语句的使用
2015/06/04 Javascript
浅谈angularJS 作用域
2015/07/05 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
js实现简单的手风琴效果
2017/02/27 Javascript
Angular排序实例详解
2017/06/28 Javascript
JS获取并处理php数组的方法实例分析
2018/09/04 Javascript
node+express框架中连接使用mysql(经验总结)
2018/11/10 Javascript
js 数据类型判断的方法
2020/12/03 Javascript
[46:44]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第二场 3月7日
2021/03/11 DOTA
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
Python简单获取自身外网IP的方法
2016/09/18 Python
Python+tkinter使用40行代码实现计算器功能
2018/01/30 Python
Python实现求一个集合所有子集的示例
2018/05/04 Python
Python操作Sql Server 2008数据库的方法详解
2018/05/17 Python
Python Pandas实现数据分组求平均值并填充nan的示例
2019/07/04 Python
NumPy排序的实现
2020/01/21 Python
next在python中返回迭代器的实例方法
2020/12/15 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
HTML5中实现拖放效果无须借助javascript
2012/12/26 HTML / CSS
HTML5 3D书本翻页动画的实现示例
2019/08/28 HTML / CSS
Booking.com亚太地区:Booking.com APAC
2020/02/07 全球购物
什么是测试驱动开发(TDD)
2012/02/15 面试题
Delphi CS笔试题
2014/01/04 面试题
毕业自我鉴定
2013/11/05 职场文书
优秀经理事迹材料
2014/02/01 职场文书
诚信贷款承诺书
2014/05/30 职场文书
2015年中学元旦晚会活动方案
2014/12/09 职场文书
给男朋友的道歉短信
2015/05/12 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
python内置进制转换函数的操作
2021/06/02 Python