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 相关文章推荐
SWFObject Flash js调用类
Jul 08 Javascript
让IE6支持min-width和max-width的方法
Jun 25 Javascript
JS.getTextContent(element,preformatted)使用介绍
Sep 21 Javascript
jquery手风琴特效插件
Feb 04 Javascript
JS+CSS简单树形菜单实现方法
Sep 12 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
Oct 26 Javascript
ajax的分页查询示例(不刷新页面)
Jan 11 Javascript
轻松实现jQuery添加删除按钮Click事件
Mar 13 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
Jan 25 Javascript
微信小程序网络层封装的实现(promise, 登录锁)
May 08 Javascript
Node.js API详解之 net模块实例分析
May 18 Javascript
Vue 数据绑定的原理分析
Nov 16 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 header()函数使用详细(301、404等错误设置)
2013/04/17 PHP
PHP开发工具ZendStudio下Xdebug工具使用说明详解
2013/11/11 PHP
php获取表单中多个同名input元素的值
2014/03/20 PHP
php遍历树的常用方法汇总
2015/06/18 PHP
php将html转为图片的实现方法
2017/05/19 PHP
JavaScript中的变量声明早于赋值分析
2012/03/01 Javascript
基于jquery的放大镜效果
2012/05/30 Javascript
JavaScript中的alert()函数使用技巧详解
2014/12/29 Javascript
BootStrap Table 分页后重新搜索问题的解决办法
2016/08/08 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
2016/11/18 Javascript
基于jQuery实现Accordion手风琴自定义插件
2020/10/13 Javascript
微信小程序如何获取用户信息
2018/01/26 Javascript
Angular 向组件传递模板的两种方法
2018/02/23 Javascript
详解ES6通过WeakMap解决内存泄漏问题
2018/03/09 Javascript
关于单文件组件.vue的使用
2018/09/20 Javascript
NodeJS使用Range请求实现下载功能的方法示例
2018/10/12 NodeJs
彻底弄懂 JavaScript 执行机制
2018/10/23 Javascript
通过jQuery学习js类型判断的技巧
2019/05/27 jQuery
node.js express框架简介与实现
2019/07/23 Javascript
vue 使用鼠标滚动加载数据的例子
2019/10/31 Javascript
jquery实现商品sku多属性选择功能(商品详情页)
2019/12/20 jQuery
原生JS实现弹幕效果的简单操作指南
2020/11/10 Javascript
Python中字典(dict)和列表(list)的排序方法实例
2014/06/16 Python
python类继承用法实例分析
2014/10/10 Python
浅谈python内置变量-reversed(seq)
2017/06/21 Python
高效测试用例组织算法pairwise之Python实现方法
2017/07/19 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
2019/01/15 Python
使用pyecharts生成Echarts网页的实例
2019/08/12 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
2020/02/07 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
给校长的建议书500字
2014/05/15 职场文书
学校爱国卫生月活动总结
2014/06/25 职场文书
防邪知识进家庭活动方案
2014/08/26 职场文书
教师年度个人总结
2015/02/11 职场文书
Python 恐龙跑跑小游戏实现流程
2022/02/15 Python
pandas中pd.groupby()的用法详解
2022/06/16 Python