创建正则表达式第两种方式

1==>通过new字符的方式,来创建正则表达式
2==>通过创建字面量的方式去创建 1.new字符的方式
let regexp=new RegExp(/123/) 2.字面量的方式去创建正则
console.log(/123/.test(12345));

/正则规则/.test('被检测的值')

test:正则对象方法,用于检测字符串是否符合该规则。
该对象会返回true或false,其参数是测试字符串.
true表示符合规则,false表示不符合规则。
简单使用
console.log(/123/.test(12345)); //返回true

判断字符是否包含某个字母

// 查看字符串中是否包含某一个qq这个字母.
let str1='qq飞车'
console.log( /qq/.test(str1) ) //true
只有该字符串str1中只要包含qq就可以。就会返回true

边界符

这里我们介绍两个。
^ ===> 以什么开头
$ ===> 以什么结尾
如果^和$放在一起,就是精准匹配的哈。

字符串中是否以q这个字母开头(^)

// 匹配字符是否以q开头的字符
let str1='qq飞车'
console.log( /^q/.test(str1) ) //true
tip:判断是否以某个字母开头使用 ^

字符串中是否以q这个字母结尾($)

// 匹配以q结尾的字符
let str1='qq飞车'
let str2='飞车qq'
console.log( /q$/.test(str1) ) //false
console.log( /q$/.test(str2) ) //true 扩展:以1512这个数字结尾怎么判断呢?
let str1='qq飞车1512'
let str2='飞车qq1512 '
console.log( /1512$/.test(str1) ) //true
console.log( /1512$/.test(str2) ) //false 最后有空格,所以是false

以abc开头,以abc结尾

// 正则的规则是以abc开头,以abc结尾
console.log(/^abc$/.test('abc')); //true console.log(/^abc$/.test('abcabc')); //false
// 这个有些小伙伴觉得是返回也应该是true,但实际确实false
// 认为它是以abc开头的,以abc结尾的。
// 其实并不想的那样,他是以abcabc开头的哦,以abcabc结尾的。
// 所以返回false

字符类

1==> 字符类:[] 表示有以系列的字符可以选择,
只要匹配其中一个就可以了。 let str1=/[abc]/ //是要包含a,或者b,或者c,就行。
let cont='hello a'
console.log(str1.test(cont));//true ps:字符类跟下面这个有所有不同的
console.log(/123/.test(12345)); //返回true
这个是必须包含123,并不是包含其中一个就行。需要注意一下哈~
let str1=/^[abc]$/; //三选一,只有a,或者b,或者c开头,结尾的字符才返回true
console.log( str1.test('a')) //true
console.log( str1.test('b')) //true
console.log( str1.test('c')) //true
console.log( str1.test('abc')) //false
console.log( str1.test('ab')) //false
console.log( str1.test('ac')) //false
26个英文小写字母中的任意一个。精准匹配
let str=/^[a-z]$/
console.log(str.test('a')); //true
console.log(str.test('z')); //true
console.log(str.test('ab')); //false,因为以ab开头,ab结尾
console.log(str.test('A')); //false,因为是大写
26个英文小写大写字母中的任意一个。精准匹配
let str=/^[a-zA-Z]$/
console.log(str.test('a')); //true
console.log(str.test('z')); //true
console.log(str.test('ab')); //false,因为以ab开头,ab结尾
26个英文小写大写或者0-9或者-或者+任意一个。
let str=/^[a-zA-Z0-9-+]$/
console.log(str.test('a')); //true
console.log(str.test('z')); //true
console.log(str.test('-')); //true
console.log(str.test('+')); //true
console.log(str.test('+-')); //false
// 如果中括号里面有^,表示取反的意思。千万别和我们的边界符^混淆了
let str=/^[^a-zA-Z0-9]$/ //除了26个英文字母,除了0-9都是可以的
console.log(str.test('A')); //false
console.log(str.test('z')); //false
console.log(str.test('0')); //false
console.log(str.test('了0')) //false
console.log(str.test('了')) //true

(使用前瞻)/bb(?=aa)/, aa前面是bb,不包含bb

let str1='javascript,typescript';
// 字符串str1中,script前面是否有java,符合规则返回ture
console.log( /java(?=script)/.test(str1)); //true let str2='java script,typescript';
// 字符串str1中,script 前面是否有java
console.log( /java(?=script)/.test(str2)); //false
// 因为script 前面是否是空格java let str3='javaxxscript,typescript';
// 字符串str1中,script 前面是否有java
console.log( /java(?=script)/.test(str3)); //false
// 因为script 前面是否是javaxx,不是java

使用后顾 /(?<a1)b2/==>匹配a1后面的是否有b2,匹配结果不包含b2

// 匹配a1后面的是否有b2
let str1='a1b2'
console.log(/(?<=a1)b2/.test(str1)) //true // 匹配a1后面的是否有b2
let str1='a1b211'
console.log(/(?<=a1)b2/.test(str1)) //true // 匹配a1后面的是否有b2
let str1='a1a1b2b2'
console.log(/(?<=a1)b2/.test(str1)) //true
有的小伙伴会说这个a1a1b2b2,不符合规则.
因为:a1a1b2b2 第一个a1后面仍然是a1,应该返回的是false
怎么会返回true.因为匹配的是的时候是每两个字符去匹配.
a1,1a,a1这个时候后面就是b2了,

尾声

如果你觉得我写的不错的话,可以给我推荐、打赏、评论!
上一个给我打赏的小伙伴都已经找到女朋友了!
咦!你不信,不信你给我打赏看一下!
保准你追到到喜欢的Ta!
你不会追,哎!难受。 我教你,你可以这样说:
小生不才,斗胆-问,不知姑娘是否心系他人。
感情之事,在下不敢儿戏!
如若姑娘早已心系他人。那在下便不再打扰。
如若有所唐突还望姑娘多加体谅!
若姑娘非我良人,那在下就不庸人自恼。
在下怕越陷越深,还望姑娘尽早告知!话已至此,我便先在此谢过!
拿去不谢!回头告诉我结果啊!
咦!抓住一个没有打赏的小伙伴!

js-正则表达式边界符和前瞻、后顾的使用-保证你看明白的更多相关文章

  1. JavaScript正则表达式-边界符

    ^:表示字符串开始位置,在多行匹配中表示一行的开始位置. /^\w+/匹配字符串中第一个单词. $:表示字符串结束的位置,在多行匹配中表示一行的结束位置. /\w+$/匹配字符串中最后一个单词. /@ ...

  2. JS 正则表达式否定匹配(正向前瞻)

    引言:JS 正则表达式是 JS 学习过程中的一大难点,繁杂的匹配模式足以让人头大,不过其复杂性和其学习难度也赋予了它强大的功能.文章从 JS 正则表达式的正向前瞻说起,实现否定匹配的案例.本文适合有一 ...

  3. js进阶正则表达式修饰符(i、g、m)(var reg2=/html/gi)

    js进阶正则表达式修饰符(i.g.m)(var reg2=/html/gi) 一.总结 1.正则表达式使用:通过那些支持正则表达式的字符串函数来使用(search.match.replace.spli ...

  4. js 正则表达式与 python正则表达式

    修饰符 1.js i g m i 忽视大小写g 执行全局匹配(查找所有匹配,而非找到第一个匹配后停止)m 执行多行匹配gi 全局匹配+忽略大小写 2.python re.Ire.IGNORECASE让 ...

  5. js正则表达式入门

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  6. 【正则】精通JS正则表达式,没消化 信息量太大,好文

    http://www.jb51.net/article/25313.htm 正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用 ...

  7. (转)精通 JS正则表达式

    精通 JS正则表达式 (精通?标题党 ) 正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证  ...

  8. 【精】【入门篇】js正则表达式

    前言 最近有了点时间,就回头看了一下<学习正则表达式>这本书.怎么说呢,这本书适合从零开始学习正则表达式或者有一点基础但是想要加强这方面能力的读者.这本书的风格是“实践出真知”,使用归纳方 ...

  9. 精通JS正则表达式(转)

    精通JS正则表达式,讲的比较详细,学习正则表达式的朋友可以参考下.    正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡 ...

  10. JS正则表达式(JavaScript regular expression)

    RegExp直接量和对象的创建 就像字符串和数字一样,程序中每个取值相同的原始类型直接量均表示相同的值,这是显而易见的.程序运行时每次遇到对象直接量(初始化表达式)诸如{}和[]的时候都会创建新对象. ...

随机推荐

  1. 协同编辑:Google Wave架构分析

    Google Wave的设计初衷是让人们互相发送信息,一起编辑文档,但用户对此感到困惑,很快就以失败告终.Google Wave持续了大约一年时间,于2010年8月被关闭. Wave"领先于 ...

  2. 数据分析引擎百花齐放,为什么要大力投入ClickHouse?

    更多技术交流.求职机会.试用福利,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近年来,OLAP产品的竞争日渐激烈,目前企业间流行的既有Impala.Greenplum等上一代较为成熟 ...

  3. Solon 框架,想要使用 http2 怎么办?

    要使用支持 http2 的插件:solon.boot.undertow (目前,只有它支持),然后通过代码启用: @SolonMain public class SeverDemo { public ...

  4. Jenkins Pipeline 流水线 - 完整构建 Pipeline Script 脚本

    Docker Jenkins 安装配置 Windows 2016 安装 Jenkins 前置条件可参考 Jenkins Pipeline 流水线 - 拉代码(SVN) + Maven 编译打包 Jen ...

  5. Leaflet 百度、高德地图瓦片坐标 偏移 纠偏

    实现地图瓦片纠偏的leaflet.mapCorrection.js代码: //坐标转换 L.CoordConvertor = function () { /**百度转84*/ this.bd09_To ...

  6. Educational DP Contest R - Walk(倍增floyd,矩阵快速幂)

    题目来源:AtCoder EDU DP题集 题目链接:Here 单独拎出来是因为这道题是一个很好的板子,值得记录 题意 给定一个 n 个节点的有向图的邻接矩阵,求该有向图中长度为 k 的路径长. 解法 ...

  7. HTTP Headers Content-Type 详解

    https://www.cnblogs.com/whosmeya/p/14315632.html

  8. P4913【橙】

    蕾姆了,上一道题做的好烦,结果直接把上一题的代码稍微改改就直接五分钟做出了另一道题,就是这道橙题.虽然只是一道橙题,但上一题代码得以复用显得自己没浪费那么多时间,显得自己还是有不少收获的.心里平摊多了 ...

  9. NCC Mocha v0.10 发布, .NET 开发的基于 OpenTelemetry 的 APM 系统

    目录 项目简介 项目进度 v0.10 发布内容 项目背景 平台功能 技术架构 v0.10 快速体验 启动项目 Trace 数据的发送 配置 Jaeger 数据源 Trace 数据的查询 项目简介 Mo ...

  10. 04 Tcl字符串

    Tcl字符串 4.1 Tcl将说有的变量值视作字符串,并将他们作为字符串进行保存. 命令 描述 append 将值追加到字符串尾 binary 二进制化字符串 format 字符串格式化 regexp ...