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 相关文章推荐
图片无缝滚动代码(向左/向下/向上)
Apr 10 Javascript
JS实现鼠标单击与双击事件共存
Mar 08 Javascript
JS实现的文字与图片定时切换效果代码
Oct 06 Javascript
分享10个优化代码的CSS和JavaScript工具
May 11 Javascript
读Javascript高性能编程重点笔记
Dec 21 Javascript
JavaScript评论点赞功能的实现方法
Mar 13 Javascript
JavaScript创建对象的七种方式全面总结
Aug 21 Javascript
vue项目中使用axios上传图片等文件操作
Nov 02 Javascript
JavaScript指定断点操作实例教程
Sep 18 Javascript
关于单文件组件.vue的使用
Sep 20 Javascript
vue 实现tab切换保持数据状态
Jul 21 Javascript
JavaScript实现手风琴效果
Feb 18 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 flush类输出缓冲剖析
2008/10/19 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
2013/06/29 PHP
Linux下PHP连接Oracle数据库
2014/08/20 PHP
php实现表单多按钮提交action的处理方法
2015/10/24 PHP
PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
2016/05/06 PHP
PHP微信开发用Cache 解决数据缓存
2016/07/11 PHP
php中青蛙跳台阶的问题解决方法
2018/10/14 PHP
JavaScript定义变量和变量优先级问题探讨
2014/10/11 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
2015/03/18 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
2016/12/22 Javascript
Angular的$http与$location
2016/12/26 Javascript
js实现文字向上轮播功能
2017/01/13 Javascript
基于JavaScript实现窗口拖动效果
2017/01/18 Javascript
JavaScript 栈的详解及实例代码
2017/01/22 Javascript
jQuery动态移除和添加背景图片的方法详解
2017/03/07 Javascript
js学习心得_一个简单的动画库封装tween.js
2017/07/14 Javascript
Javascript实现找不同色块的游戏
2017/07/17 Javascript
微信小程序实现保存图片到相册功能
2018/11/30 Javascript
VsCode与Node.js知识点详解
2019/09/05 Javascript
听歌识曲--用python实现一个音乐检索器的功能
2016/11/15 Python
Python+pandas计算数据相关系数的实例
2018/07/03 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
2020/02/05 Python
Django怎么在admin后台注册数据库表
2020/11/14 Python
Python tkinter之ComboBox(下拉框)的使用简介
2021/02/05 Python
VIVOBAREFOOT赤脚鞋:让您的脚做自然的事情
2017/06/01 全球购物
工程造价管理专业大专生求职信
2013/10/06 职场文书
大学毕业生的自我鉴定
2013/11/30 职场文书
行政人员工作职责
2013/12/05 职场文书
小学校园活动策划
2014/01/30 职场文书
数控专业大学毕业生职业规划范文
2014/02/06 职场文书
教师业务培训方案
2014/05/01 职场文书
2014年幼儿园班级工作总结
2014/12/17 职场文书
yyds什么意思?90后已经听不懂00后讲话了……
2022/02/03 杂记
高并发下Redis如何保持数据一致性(避免读后写)
2022/03/18 Redis