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 相关文章推荐
动态加载图片路径 保持JavaScript控件的相对独立性
Sep 06 Javascript
HTML上传控件取消选择
Mar 06 Javascript
Javascript获取CSS伪元素属性的实现代码
Sep 28 Javascript
快速掌握Node.js事件驱动模型
Mar 21 Javascript
简单几步实现返回顶部效果
Dec 05 Javascript
JS实现微信里判断页面是否被分享成功的方法
Jun 06 Javascript
JavaScript实现重力下落与弹性效果的方法分析
Dec 20 Javascript
vue 之 .sync 修饰符示例详解
Apr 21 Javascript
浅谈vue中.vue文件解析流程
Apr 24 Javascript
javascript中函数的写法实例代码详解
Oct 28 Javascript
浅谈vux之x-input使用以及源码解读
Nov 04 Javascript
layui多图上传实现删除功能的例子
Sep 23 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
10款PHP开源商城系统汇总介绍
2015/07/23 PHP
PHP制作用户注册系统
2015/10/23 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
深入理解PHP+Mysql分布式事务与解决方案
2020/12/03 PHP
JS+ACTIVEX实现网页选择本地目录路径对话框
2013/03/18 Javascript
jquery等待效果示例
2014/05/01 Javascript
在Ubuntu系统上安装Node.JS的教程
2015/10/15 Javascript
jQuery实现图像旋转动画效果
2016/05/29 Javascript
BootStrap智能表单实战系列(七)验证的支持
2016/06/13 Javascript
jQuery检查元素存在性(推荐)
2016/09/17 Javascript
KnockoutJS 3.X API 第四章之click绑定
2016/10/10 Javascript
深入理解jQuery.data() 的实现方式
2016/11/30 Javascript
bootstrap实现每隔5秒自动轮播效果
2016/12/20 Javascript
webstorm添加vue.js支持的方法教程
2017/07/05 Javascript
Angular在模板驱动表单中自定义校验器的方法
2017/08/09 Javascript
vue返回上一页面时回到原先滚动的位置的方法
2018/12/20 Javascript
JavaScript实现五子棋游戏的方法详解
2019/07/08 Javascript
jQuery实现穿梭框效果
2021/01/19 jQuery
JavaScript事件概念详解(区分静态注册和动态注册)
2021/02/05 Javascript
Python科学计算环境推荐——Anaconda
2014/06/30 Python
使用Python判断质数(素数)的简单方法讲解
2016/05/05 Python
python 拷贝特定后缀名文件,并保留原始目录结构的实例
2018/04/27 Python
利用Python求阴影部分的面积实例代码
2018/12/05 Python
PyQt5图形界面播放音乐的实例
2019/06/17 Python
Python简单处理坐标排序问题示例
2019/07/11 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
2019/11/07 Python
Python中包的用法及安装
2020/02/11 Python
M1芯片安装python3.9.1的实现
2021/02/02 Python
C++:memset ,memcpy和strcpy的根本区别
2013/04/27 面试题
档案管理员岗位职责
2013/12/01 职场文书
初中校园之声广播稿
2014/01/15 职场文书
社会实践活动总结报告
2014/04/29 职场文书
工地质量标语
2014/06/12 职场文书
反洗钱宣传活动总结
2014/08/26 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书
机械生产实习心得体会
2016/01/22 职场文书