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 相关文章推荐
JS 修改URL参数(实现代码)
Jul 08 Javascript
jQuery链式操作实例分析
Nov 16 Javascript
Javascript json object 与string 相互转换的简单实现
Sep 27 Javascript
JavaScript获取ul中li个数的方法
Feb 13 Javascript
js实现功能比较全面的全选和多选
Mar 02 Javascript
Django使用多数据库的方法
Sep 06 Javascript
EasyUI创建人员树的实例代码
Sep 15 Javascript
React Native react-navigation 导航使用详解
Dec 01 Javascript
node.js 模块和其下载资源的镜像设置的方法
Sep 06 Javascript
优雅地使用loading(推荐)
Apr 20 Javascript
小程序实现长按保存图片的方法
Dec 31 Javascript
原生js实现九宫格拖拽换位
Jan 26 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中使用unset销毁变量并内存释放问题
2012/07/05 PHP
基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解
2013/05/15 PHP
PHP入门经历和学习过程分享
2014/04/11 PHP
List the Codec Files on a Computer
2007/06/18 Javascript
Javascript表单验证要注意的事项
2014/09/29 Javascript
简介JavaScript中toUpperCase()方法的使用
2015/06/06 Javascript
jQuery ajax应用总结
2016/06/02 Javascript
jQuery焦点图轮播插件KinSlideshow用法分析
2016/06/08 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
2016/10/28 Javascript
Bootstrap整体框架之CSS12栅格系统
2016/12/15 Javascript
JavaScript 详解预编译原理
2017/01/22 Javascript
深入理解AngularJs-scope的脏检查(一)
2017/06/19 Javascript
关于在mongoose中填充外键的方法详解
2017/08/14 Javascript
AngularJS实现注册表单验证功能
2017/10/16 Javascript
Angular4实现鼠标悬停3d倾斜效果
2017/10/25 Javascript
JS实现调用本地摄像头功能示例
2018/05/18 Javascript
Vue2.0生命周期的理解
2018/08/20 Javascript
turn.js异步加载实现翻书效果
2019/07/25 Javascript
vue移动端实现手机左右滑动入场动画
2020/06/17 Javascript
微信小程序手动添加收货地址省市区联动
2020/05/18 Javascript
three.js中多线程的使用及性能测试详解
2021/01/07 Javascript
Python实现的建造者模式示例
2018/08/06 Python
使用python对文件中的单词进行提取的方法示例
2018/12/21 Python
20行python代码实现人脸识别
2019/05/05 Python
python文件操作的简单方法总结
2019/11/07 Python
浅谈keras.callbacks设置模型保存策略
2020/06/18 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
2020/06/30 Python
惊艳的手工时装首饰:Migonne Gavigan
2018/02/23 全球购物
高校教师思想汇报
2014/01/11 职场文书
初一生物教学反思
2014/01/18 职场文书
运动会通讯稿150字
2014/02/15 职场文书
企业党的群众路线教育实践活动学习心得体会
2014/10/31 职场文书
2014年流动人口工作总结
2014/11/26 职场文书
员工辞职信怎么写
2015/02/27 职场文书
2016幼儿园新学期寄语
2015/12/03 职场文书
spring项目中切面及AOP的使用方法
2021/06/26 Java/Android