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代码
Oct 09 Javascript
jQuery EasyUI datagrid实现本地分页的方法
Feb 13 Javascript
深入理解js中this的用法
May 28 Javascript
javascript正则表达式中分组详解
Jul 17 Javascript
JavaScript页面实时显示当前时间实例代码
Oct 23 Javascript
原生JS仿QQ阅读点击展开、收起效果
Mar 08 Javascript
基于vue实现多引擎搜索及关键字提示
Mar 16 Javascript
jQuery实现切换隐藏与显示同时切换图标功能
Oct 29 jQuery
node前端模板引擎Jade之标签的基本写法
May 11 Javascript
详解Vue源码学习之callHook钩子函数
Jul 25 Javascript
详解如何webpack使用DllPlugin
Sep 30 Javascript
浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)
Oct 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
咖啡机如何保养和日常清洁?
2021/03/03 冲泡冲煮
使用php重新实现PHP脚本引擎内置函数
2007/03/06 PHP
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
2011/12/28 PHP
PHP+JS实现大规模数据提交的方法
2015/07/02 PHP
PHP使用内置函数生成图片的方法详解
2016/05/09 PHP
PHP中trait使用方法详细介绍
2017/05/21 PHP
Javascript &amp; DHTML 实例编程(教程)基础知识
2007/06/02 Javascript
javascript操作cookie_获取与修改代码
2009/05/21 Javascript
Javascript UrlDecode函数代码
2010/01/09 Javascript
JavaScript入门之对象与JSON详解
2011/10/21 Javascript
js三种排序算法分享
2012/08/16 Javascript
JQ获取动态加载的图片大小的正确方法分享
2013/11/08 Javascript
javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)
2013/12/17 Javascript
JS实现为排序好的字符串找出重复行的方法
2016/03/02 Javascript
AngularJS入门教程之ng-checked 指令详解
2016/08/01 Javascript
JS 使用 window对象的print方法实现分页打印功能
2018/05/16 Javascript
React SSR样式及SEO的实践
2018/10/22 Javascript
微信小程序实现写入读取缓存详解
2019/08/30 Javascript
微信小程序背景音乐开发详解
2019/12/12 Javascript
vue中template的三种写法示例
2020/10/21 Javascript
原生js实现下拉框选择组件
2021/01/20 Javascript
python实现class对象转换成json/字典的方法
2016/03/11 Python
python tkinter库实现气泡屏保和锁屏
2019/07/29 Python
python实现用类读取文件数据并计算矩形面积
2020/01/18 Python
关于Tensorflow 模型持久化详解
2020/02/12 Python
如何基于python3和Vue实现AES数据加密
2020/03/27 Python
Keras 在fit_generator训练方式中加入图像random_crop操作
2020/07/03 Python
Python2手动安装更新pip过程实例解析
2020/07/16 Python
美国修容界大佬创建的个人美妆品牌:Kevyn Aucoin Beauty
2018/12/12 全球购物
CHRONEXT英国:您的首选奢华腕表目的地
2020/03/30 全球购物
国家助学金获奖感言
2014/01/31 职场文书
对孩子的寄语
2014/04/09 职场文书
付款委托书范本
2014/10/05 职场文书
2014年项目工作总结
2014/11/24 职场文书
Nginx解决403 forbidden的完整步骤
2021/04/01 Servers
vue实现列表拖拽排序的示例代码
2022/04/08 Vue.js