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 相关文章推荐
showModelessDialog()使用详解
Sep 07 Javascript
一个网马的tips实现分析
Nov 28 Javascript
新浪微博字数统计 textarea字数统计实现代码
Aug 28 Javascript
jquery bind(click)传参让列表中每行绑定一个事件
Aug 06 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
Apr 16 Javascript
解决WordPress使用CDN后博文无法评论的错误
Dec 15 Javascript
理解JS事件循环
Jan 07 Javascript
jQuery实现本地预览上传图片功能
Jan 08 Javascript
深入理解JavaScript 函数
Jun 06 Javascript
在点击div中的p时,如何阻止事件冒泡
Feb 07 Javascript
js 作用域和变量详解
Feb 16 Javascript
简单实现vue验证码60秒倒计时功能
Oct 11 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
DIY一个适配电脑声卡的动圈话筒放大器
2021/03/02 无线电
mac下Apache + MySql + PHP搭建网站开发环境
2014/06/02 PHP
写一段简单的PHP建立文件夹代码
2015/01/06 PHP
PHP开发注意事项总结
2015/02/04 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
document.all还是document.getElementsByName?
2006/07/21 Javascript
类似框架的js代码
2006/11/09 Javascript
js 数组操作代码集锦
2009/04/28 Javascript
javascript面向对象之Javascript 继承
2010/05/04 Javascript
javascript获得网页窗口实际大小的示例代码
2013/09/21 Javascript
jquery图形密码实现方法
2015/03/11 Javascript
bootstrap switch开关组件使用方法详解
2017/08/22 Javascript
详解vuex之store拆分即多模块状态管理(modules)篇
2018/11/13 Javascript
Vue动态面包屑功能的实现方法
2019/07/01 Javascript
vue-cli基础配置及webpack配置修改的完整步骤
2019/10/20 Javascript
Vue动态加载图片在跨域时无法显示的问题及解决方法
2020/03/10 Javascript
让你30分钟快速掌握vue3教程
2020/10/26 Javascript
Python中使用copy模块实现列表(list)拷贝
2015/04/14 Python
python使用in操作符时元组和数组的区别分析
2015/05/19 Python
python:print格式化输出到文件的实例
2018/05/14 Python
PyCharm设置护眼背景色的方法
2018/10/29 Python
PyQt5 窗口切换与自定义对话框的实例
2019/06/20 Python
python3用PIL把图片转换为RGB图片的实例
2019/07/04 Python
使用Python制作表情包实现换脸功能
2019/07/19 Python
使用Python实现文字转语音并生成wav文件的例子
2019/08/08 Python
Python turtle画图库&amp;&amp;画姓名实例
2020/01/19 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
Python实现迪杰斯特拉算法过程解析
2020/09/18 Python
Django 权限管理(permissions)与用户组(group)详解
2020/11/30 Python
大学生旅游业创业计划书
2014/01/29 职场文书
2014年公司工作总结
2014/11/22 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
如何利用JavaScript实现二叉搜索树
2021/04/02 Javascript
JavaScript选择器函数querySelector和querySelectorAll
2021/11/27 Javascript
redis数据一致性的实现示例
2022/03/18 Redis