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 相关文章推荐
JQuery jsonp 使用示例代码
Aug 12 Javascript
js网页中的(运行代码)功能实现思路
Feb 04 Javascript
详细分析使用AngularJS编程中提交表单的方式
Jun 19 Javascript
JavaScript构造函数详解
Dec 27 Javascript
用Vue.js实现监听属性的变化
Nov 17 Javascript
js监听input输入框值的实时变化实例
Jan 26 Javascript
简单实现js选项卡切换效果
Feb 09 Javascript
浅谈Vue-cli 命令行工具分析
Nov 22 Javascript
node实现基于token的身份验证
Apr 09 Javascript
微信小程序tabBar设置实例解析
Nov 14 Javascript
js实现翻牌小游戏
Jul 31 Javascript
微信小程序实现日历小功能
Nov 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
BBS(php &amp; mysql)完整版(六)
2006/10/09 PHP
php HtmlReplace输入过滤安全函数
2010/07/03 PHP
献给php初学者(入门学习经验谈)
2010/10/12 PHP
PHP 第二节 数据类型之数组
2012/04/28 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
2016/07/21 PHP
php中str_pad()函数用法分析
2017/03/28 PHP
YII框架实现自定义第三方扩展操作示例
2019/04/26 PHP
WordPress伪静态规则设置代码实例
2020/12/10 PHP
用Jquery实现多级下拉框无刷新的联动
2010/12/22 Javascript
jQuery 源码分析笔记(4) Ready函数
2011/06/02 Javascript
Js 正则表达式知识汇总
2014/12/02 Javascript
chrome不支持form.submit的解决方案
2015/04/28 Javascript
使用JavaScript制作一个简单的计数器的方法
2015/07/07 Javascript
Javascript函数式编程语言
2015/10/11 Javascript
JS插件overlib用法实例详解
2015/12/26 Javascript
基于javascript实现九宫格大转盘效果
2020/05/28 Javascript
NodeJS整合银联网关支付(DEMO)
2016/11/09 NodeJs
layer弹窗插件操作方法详解
2017/05/19 Javascript
Vue.directive 自定义指令的问题小结
2018/03/04 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
2019/02/27 Javascript
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
2020/01/22 Javascript
python获取list下标及其值的简单方法
2016/09/12 Python
Python实现判断一个整数是否为回文数算法示例
2019/03/02 Python
python监控nginx端口和进程状态
2019/09/06 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
2020/10/30 Python
详解Python GUI编程之PyQt5入门到实战
2020/12/10 Python
纯CSS3实现漂亮的input输入框动画样式库(Text input love)
2018/12/29 HTML / CSS
Linux文件操作命令都有哪些
2015/02/27 面试题
院药学专业个人求职信
2013/09/21 职场文书
给儿子的表扬信
2014/01/15 职场文书
幼儿园毕业家长感言
2014/02/10 职场文书
销售职业生涯规划范文
2014/03/14 职场文书
医院院务公开实施方案
2014/05/03 职场文书
学校课外活动总结
2014/05/08 职场文书
调解协议书范本
2016/03/21 职场文书
关于Numpy之repeat、tile的用法总结
2021/06/02 Python