首页 > 其他分享 >正则随笔

正则随笔

时间:2023-06-30 16:14:13浏览次数:41  
标签:const 正则表达式 zA 正则 字符串 匹配 随笔

正则表达式是用于匹配字符串中字符组合的模式。

下面是一些基本的正则判断

//匹配字母
    const reg1 = /[a-zA-Z]/
    //匹配数字
    const reg2 = /\d/
    //匹配非数字
    const reg3 = /\D/
    //空格
    const reg4 = /\s/
    //字母、数字、下划线
    const reg5 = /\w/
    //特殊字符
    const reg6 = /[!@#$%^&*]/
    //非字母匹配
    const reg7 = /[^a-zA-Z]/

当你需要匹配一个不确定的字符串时,比如寻找一个或多个 "b",或者寻找空格,可以在模式中使用特殊字符。比如,你可以使用 /abc/ 去匹配一个单独的 "a" 后面跟了零个或者多个 "b",同时后面跟着 "c" 的字符串:的意思是前一项出现零次或者多次。在字符串 "cbbabbbbcdebc" 中,这个模式匹配了子字符串 "abbbbc"。

一些常见的正则方法:
test() 检测一个字符串是否与正则表达式匹配,返回布尔值
match() 在字符串中搜索匹配正则表达式的内容,返回数组或者null
search() 在字符串中搜索匹配正则表达式的内容,返回匹配的索引或-1
replace() 将匹配正则表达式的内容替换为指定字符串,并返回替换后的字符串
split() 根据正则表达式将字符串分割成数组
还有一些其他的方法,当需要使用时,查询手册即可。

一些和正则有关的题目:

// 匹配由数字和字母组成的字符串,且长度为5到10个字符之间。
/^[a-zA-Z0-9]{5,10}$/
// 匹配一个有效的邮箱地址。
/^[a-zA-Z0-9]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/
// 匹配一个日期,格式为YYYY-MM-DD,例如2023-01-01。
/^\d{4}-\d{2}-\d{2}$/
// 匹配一个手机号码,格式为11位数字,以1开头。
/^1\d{10}/
// 匹配一个由字母组成的字符串,第一个字母必须大写。
/^[A-Z][a-zA-Z]*$/
// 匹配一个包含特殊字符(例如@、#、$)的字符串。
/[!@#$%^&*]/
// 匹配一个URL,以http或https开头,并以.com结尾。
/^(http|https):\/\/[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/
// 匹配一个HTML标签,例如<div>或<p>。
/^<([a-zA-Z]+\d?)([^<>]+)*(?:>(.*)<\/\1>|\s*\/?>)%/

关于贪婪匹配和惰性匹配:

//贪婪匹配和惰性匹配
    const string = 'aaaaaa'
    const greedyPattern = /a+/  //贪婪匹配 尽可能多
    const lazyPattern = /a+?/  //惰性匹配 只匹配一个

    console.log(string.match(greedyPattern))
    console.log(string.match(lazyPattern))

标签:const,正则表达式,zA,正则,字符串,匹配,随笔
From: https://www.cnblogs.com/ntbb1113/p/17517069.html

相关文章

  • 正则的定义及语法
    正则的定义正则就是规则,用来操作字符串的,判断字符串格式是否正确。正则就是用来验证字符串的。正则写法语法:正则字面量(字符串)varreg=//reg就可以验证字符串。正则对象语法:创建正则对象对象:newRegExp(模式,修饰符);正则对象和正则字符串的区别(1)正则对象......
  • 正则基础
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title></head><body>用于匹配和操作文本的工具</body></html><script>//匹配字母constreg1=/[a-zA-Z]///匹配数字co......
  • 正则基础
    //匹配字母  constreg1=/[a-zA-Z]/  //匹配数字  constreg2=/\d/  //匹配非数字  constreg3=/\D/  //空格  constreg4=/\s/  //字母数字下划线  constreg5=/\w/  //特殊字符  constreg6=/[!@#$%>&*]/  //非字......
  • R语言随机波动模型SV:马尔可夫蒙特卡罗法MCMC、正则化广义矩估计和准最大似然估计上证
    全文链接:http://tecdat.cn/?p=31162最近我们被客户要求撰写关于SV模型的研究报告,包括一些图形和统计输出本文做SV模型,选取马尔可夫蒙特卡罗法(MCMC)、正则化广义矩估计法和准最大似然估计法估计。模拟SV模型的估计方法: sim<-svsim(1000,mu=-9,phi=0.97,sigma=0.15)......
  • js随笔
    JavaScript(缩写:JS)是一门完备的动态编程语言。当应用于HTML文档时,可为网站提供动态交互特性。由布兰登·艾克(BrendanEich,Mozilla项目、Mozilla基金会和Mozilla公司的联合创始人)发明。JavaScript的应用场合极其广泛,简单到幻灯片、照片库、浮动布局和响应按钮点击,复杂到游戏......
  • go随笔
    1)声明在函数内部,是函数的本地值,类似private2)声明在函数外部,是对当前包可见(包内所有.go文件都可见)的全局值,类似protect3)声明在函数外部且首字母大写是所有包可见的全局值,类似public一个Go工程中主要包含以下三个目录:src:源代码文件pkg:包文件bin:相关b......
  • mysql随笔
    备份exchangedb库下的systemtable表mysqldump--defaults-extra-file=/etc/my_pass.txt--flush-logs--single-transaction--set-gtid-purged=OFFexchangedbsystemtable>/data/system_config.sql查看binlog执行的具体操作/usr/bin/mysqlbinlog--no-defaults-v-v--bas......
  • 正则表达式
    量词这三个都是正则表达式的量词,量词,顾名思义,就是表示出现数量多少次的词语;*表示匹配前面的元素零次或多次。例如,a* 表示匹配零个或多个连续的字母a。+表示匹配前面的元素一次或多次。例如,a+ 表示匹配一个或多个连续的字母a。{m,n}表示匹配前面的元素至少m次,至多n......
  • 真·随笔
    6.27今天开这玩意本来是有点东西想写的,结果写别的写着写着忘了。哦想起来了。我自己是一个空心的人,看书、电影之类的太少了。自己的价值判断也是一团乱麻,有很多小镇做题家(非针对这一群体,只是引用一下想象中这个群体的的刻板印象)身上对个人发展不利的部分。最近也不是很有空,但是......
  • 真·随笔(三)《政治学通识》笔记
    读书太少了,还天天鉴证,没底子。看点东西充实一下。中国政治观:中国古代(孔子、韩非)、海国图志、孙中山、当代。孙:管理众人的事便是政治。孔子对曰:“政者,正也。子帅以正,孰敢不正?”……翻译成现代政治学语言,可以表述为“政府是社会的道德榜样”。借助这种视角,大家可以理解目前中国......