JS正则表达式完全匹配字符
js中 RegExp 对象使用 test() 来匹配正则表达式时,只要有子字符串能够匹配成功就会返回 true。
如果要当正则表达式完全匹配整个字符串时 test() 才返回true的话,可以在正则表达式的开头加入^ (表示开头),结尾加入$(表示结尾)。
var reg1 = /12345678/;
var reg2 = /^12345678$/;
var test1 = "12345678";
var test2 = "0123456789";
console.log(reg1.test(test1)); //true
console.log(reg1.test(test2)); //true
console.log(reg2.test(test1)); //true
console.log(reg2.test(test2)); //false
若想完整匹配一个单词,可以使用以下形式:
var reg2 = /\bword\b/;
var reg3 = /(?:^|(\s))word(?:$|\s)/;
其中 reg2 的正则表达式会匹配以 "-" 、"." 和其他的字符(没有一一去测)分隔的单词
而 reg3 的正则表达式只会匹配以空白字符分隔的单词
var testStr4 = "word";
var testStr5 = "wordwithoutspace";
var testStr6 = "a word with space";
var testStr7 = "a-word-with-strikethrough";
var testStr8 = "a0word0with0number";
var testStr9 = "a_word_with_underline";
var testStr10 = "a.word.with.decimal";
var testStr11 = "a word with tab";var reg2 = /\bword\b/;
console.log("reg2.test(testStr4)",reg2.test(testStr4)); //true
console.log("reg2.test(testStr5)",reg2.test(testStr5)); //false
console.log("reg2.test(testStr6)",reg2.test(testStr6)); //true
console.log("reg2.test(testStr7)",reg2.test(testStr7)); //true
console.log("reg2.test(testStr8)",reg2.test(testStr8)); //false
console.log("reg2.test(testStr9)",reg2.test(testStr9)); //false
console.log("reg2.test(testStr10)",reg2.test(testStr10)); //true
console.log("reg2.test(testStr11)",reg2.test(testStr11)); //trueconsole.log()
var reg3 = /(?:^|(\s))word(?:$|\s)/;
console.log("reg3.test(testStr4)",reg3.test(testStr4)); //true
console.log("reg3.test(testStr5)",reg3.test(testStr5)); //false
console.log("reg3.test(testStr6)",reg3.test(testStr6)); //true
console.log("reg3.test(testStr7)",reg3.test(testStr7)); //false
console.log("reg3.test(testStr8)",reg3.test(testStr8)); //false
console.log("reg3.test(testStr9)",reg3.test(testStr9)); //false
console.log("reg3.test(testStr10)",reg3.test(testStr10)); //false
console.log("reg3.test(testStr11)",reg3.test(testStr11)); //true
JS正则表达式完全匹配字符相关推荐
- JS 正则表达式否定匹配(正向前瞻)
引言 JS 正则表达式是 JS 学习过程中的一大难点,繁杂的匹配模式足以让人头大,不过其复杂性和其学习难度也赋予了它强大的功能.文章从 JS 正则表达式的正向前瞻说起,实现否定匹配的案例.本文适合有一 ...
- js正则表达式的匹配函数返回数组问题
初衷是想使用js的match函数配合正则表达式来匹配正确的ip格式,出现问题 var reg = /^([1-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(([0-9]|[ ...
- JS 正则表达式获取匹配内容
正则表达式中:g 表示的是全局模式匹配 正则表达式中:i 表示的是忽略大小写 正则表达式中:()表示的是分组,$1表示获取分组1中的内容 正则表达式中:[.match()]方法表示获取匹配内容 正则表 ...
- C#后台利用正则表达式查找匹配字符
/// <summary> /// 发送短信 系统固化短信 /// </summary> /// <param name= ...
- java 正则 惰性匹配_js正则表达式惰性匹配和贪婪匹配用法分析
本文实例讲述了js正则表达式惰性匹配和贪婪匹配用法.分享给大家供大家参考,具体如下: 在讲贪婪模式和惰性模式之前,先回顾一下JS正则基础: 写法基础: ①不需要双引号,直接用//包含 => /w ...
- JS正则表达式字符匹配
正则表达式字符匹配 这是阅读<JavaScript正则表达式迷你书>后整理的一些笔记. 正则表达式是匹配模式,要么匹配字符,要么匹配位置. 下面主要介绍匹配字符的情况,匹配位置的情况我也正 ...
- js正则表达式匹配字符串与优化过程
前言 有时候需要实现对js源文件中的url字符串做拦截预处理,或者前端js语法高亮,或者需要对动态加载的关键源码做混淆保护,在某些步骤实现之前,有一个步骤是需要提炼出所有的合法字符串. 目标:检测源文 ...
- JS正则表达式的分组匹配
原文地址: JS正则表达式的分组匹配 什么是分组 通俗来说,我理解的分组就是在正则表达式中用()包起来的内容代表了一个分组,像这样的: var reg = /(\d{2})/ reg.test('12 ...
- html正则表达式怎么写用户名非空,js通过正则匹配没有内容的空标签
js 如何正则匹配没有内容的空标签并移除掉? 例如 等等 正则 /]*?)?>\s*?/ig html=' '+ '\n '+ '\n'+ '\n '+ '\n '+ '\n '+ '\n'+ ...
最新文章
- WSL的openssh-server使用报错:Could not load host key: /etc/ssh/ssh_host_rsa_key
- python检查URL是否能正常访问
- java中构造函数有什么用,java中的构造函数有什么用?用它有什么好处?在什么地方用?...
- 下单送奖励金的实现思路
- python怎样画立体图-如何用Matplotlib 画三维图的示例代码
- 蓝桥杯日期填空问题:高斯日记/星系炸弹
- 二叉树的创建_【数据结构用python描述】python创建二叉树
- 出埃及记:摩西劈开红海
- 【一天一个C++小知识】005. C++中的句柄类(智能指针)
- python标准库——sys模块
- Windows API函数大全(1)
- pdf edit注册码
- 【c4d学习笔记】OC渲染器安装问题
- Android访问assets本地Json文件
- 10个高质量PPT模板下载网站
- S_ALR_87011963 No data selected
- springIOC原理解析
- unity修改默认字体
- 一文带你了解c++使用endl和使用‘\n‘的区别
- Calander用例
热门文章
- npm安装Weex Toolkit
- Mysql第一周总结
- 手机连得上的wifi,电脑右下方却出现感叹号连不上网??
- 结构化数据、半结构化数据、非结构化数据区别
- ValueError: Index out of range using input dim 2; input has only 2 dims for 'crf_1/strided_slice' (o
- 彻底理解python递归_如何最简单、通俗地理解Python的递归?
- 腐烂国度计算机配置要求,《腐烂国度2》PC配置公布 最低要求GTX 760
- Linux删除文件和目录
- python做机器人行走动画_python实现机器人行走效果
- 处理类似于12306订单30分钟自动取消?