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 相关文章推荐
ext实现完整的登录代码
Aug 08 Javascript
JSON传递bool类型数据的处理方式介绍
Sep 18 Javascript
jquery 合并内容相同的单元格(示例代码)
Dec 13 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
Mar 18 Javascript
js的form表单提交url传参数(包含+等特殊字符)的两种解决方法
May 25 Javascript
JavaScript手机振动API
Jun 11 Javascript
jQuery实现页面滚动时智能浮动定位
Jan 08 Javascript
javascript基础知识之html5轮播图实例讲解(44)
Feb 17 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
Sep 05 Javascript
详解Nuxt.js 实战集锦
Nov 19 Javascript
如何构建 vue-ssr 项目的方法步骤
Aug 04 Javascript
Vue实现菜单切换功能
Nov 08 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 shell命令合并图片的代码
2011/06/23 PHP
彻底删除thinkphp3.1案例blog标签的方法
2014/12/05 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
2015/12/22 PHP
总结对比php中的多种序列化
2016/08/28 PHP
微信公众号模板消息群发php代码示例
2016/12/29 PHP
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
2009/10/11 Javascript
JavaScript学习笔记之数组求和方法
2016/03/23 Javascript
jQuery中show与hide方法用法示例
2016/09/16 Javascript
jQuery实现简单弹窗遮罩效果
2017/02/27 Javascript
jquery 禁止鼠标右键并监听右键事件
2017/04/27 jQuery
详解在AngularJS的controller外部直接获取$scope
2017/06/02 Javascript
Layui table 组件的使用之初始化加载数据、数据刷新表格、传参数
2017/09/11 Javascript
VUE 使用中踩过的坑
2018/02/08 Javascript
vue-devtools的安装步骤
2018/04/23 Javascript
JavaScript实现的九种排序算法
2019/03/04 Javascript
Vue的属性、方法、生命周期实例代码详解
2019/09/17 Javascript
简单了解three.js 着色器材质
2020/08/03 Javascript
Python多线程编程(四):使用Lock互斥锁
2015/04/05 Python
python中self原理实例分析
2015/04/30 Python
python3中property使用方法详解
2019/04/23 Python
python如何获取列表中每个元素的下标位置
2019/07/01 Python
numpy.array 操作使用简单总结
2019/11/08 Python
pytorch 图像中的数据预处理和批标准化实例
2020/01/15 Python
Python中常用的高阶函数实例详解
2020/02/21 Python
django API 中接口的互相调用实例
2020/04/01 Python
使用OpenCV实现人脸图像卡通化的示例代码
2021/01/15 Python
html+css3实现的登录界面
2020/12/09 HTML / CSS
印尼最大的婴儿用品购物网站:Orami
2017/09/28 全球购物
国贸类专业毕业生的求职信分享
2013/12/08 职场文书
新店开张活动方案
2014/08/24 职场文书
四风问题对照检查整改措施思想报告
2014/10/05 职场文书
2014党支部对照检查材料思想汇报
2014/10/05 职场文书
旅游投诉信范文
2015/07/02 职场文书
工作会议简报
2015/07/20 职场文书
mysql查询的控制语句图文详解
2021/04/11 MySQL
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis