首页 > 其他分享 >正则基础

正则基础

时间:2023-06-30 12:33:06浏览次数:41  
标签:abc const log 匹配 基础 正则 test console

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
用于匹配和操作文本的工具
</body>
</html>
<script>
//匹配字母
const reg1=/[a-zA-Z]/
//匹配数字
const reg2=/\d/
//匹配非数字
const reg3=/\D/
//空格
const reg4=/\s/
//字母、数字、下划线
const reg5=/\w/
//特殊字符
const reg6=/[!@#$%^&*]/
//非字母匹配
const reg7=/[^a-zA-Z]/
/*****************************正则方法*********************************/
//test()检测一个字符串是否与正则表达式匹配,返回布尔值
const reg8=/hello/
const str1='hello, cword!'
console.log(reg8.test(str1))
//match方法,在字符串中搜索匹配正则表达式的内容,返回数组或者null
console.log(str1.match(reg8))
//search在字符串中搜索匹配正则表达式的内容,返回匹配的索引或-1
const reg9=/word/
console.log(str1.search(reg9))//-1代表找不到
//replace()将匹配正则表达式的内容替换为指定字符串,并返回替换后的字符串
console.log(str1.replace(reg9,'1111'))
//split()根据正则表达式将字符分割成数组
console.log(str1.split(/\s/))
/*****************************位置***********************************/
//^匹配字符串开始的位置
const str2='hello world'
const str3='AAAhello word'
const reg10=/hello/
const reg11=/^hello/
console.log(reg10.test(str2),reg10.test(str3))
console.log(reg11.test(str2),reg11.test(str3))
//举例:匹配手机号
//const phoneNum='13312341234'
const phoneNum='13312341234ddddd'
//const phoneNum='aaaa13312341234'
const phoneReg=/^1\d{10}$/
console.log(phoneReg.test(phoneNum))
//如上$代表结束位置
// \b代表匹配单词边界
// \B代表匹配非单词边界
const reg12=/\bworld\b/
console.log(reg12.test(str2))
const str4='helloworld'
console.log(reg12.test(str4))
/********************量词***********************/
/* *匹配前一个字符出现0次或多次
/ab*c/ 匹配ac,abc,abbbc等

+匹配前一个字符出现1次或多次
/ab+c/ 匹配abc,abbbc,不匹配ac

?匹配前一个字符出现0次或1次
/ab?c/ 匹配ac,abc,不匹配abbbc

{n}匹配前一个字符刚好出现n次,多了也不行,少了也不行

{n,}匹配前一个字符,至少n次

{n,m}出现n~m次
*/
//贪婪匹配和惰性匹配
const string='aaaaaa'
const greedyPattern=/a+/ //贪婪匹配 尽可能足够多
const lazyPattern=/a+?/ //惰性匹配 只一个

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

/*************字符类别********************/
/*
[abc]匹配的是a或b或c
[a-z]
[A-Z]
[a-zA-Z]
[0-9]
[0-9-fA-F] 匹配十六进制字符
[^abc] 非a非b非c
*/

/********************分组********************/
/* (abc)匹配abc字符串
(ab)+ 匹配连续出现的ab字符串,如ab,abab,ababab等
(a|b) 等同于[ab]
(abc|def) 不可用[]代替,abc或def
*/
/*****************捕获******************/
/*捕获:小括号的嵌套
(a(b)c) 分组的里面又有一个分组,就是所谓的捕获*/
/****************修饰符************************/
//1. i 不区分大小写
const reg13=/hello/ig
console.log(reg13.test("Hello"))
//2. 全局匹配 g是global,全球,全球的,所有都会匹配
console.log("Hello,hello,HELLO".match(reg13))
//3. m代表的是多行匹配
const pattern=/^hello/im;
console.log("Hello\nhellohello".match(pattern));//输出:["Hello,"hello"] (不对)
</script>

标签:abc,const,log,匹配,基础,正则,test,console
From: https://www.cnblogs.com/BeiMuxxx/p/17516351.html

相关文章

  • 循环神经网络入门基础
    文章和代码已经归档至【Github仓库:<https://github.com/timerring/dive-into-AI>】或者公众号【AIShareLab】回复神经网络基础也可获取。循环神经网络序列数据序列数据是常见的数据类型,前后数据通常具有关联性例如“Catsaverage15hoursofsleepaday”语言模型语言模型是......
  • 行行AI人才直播第5期:系列课-AI理解及ChatGPT从基础到高级应用
    当前,人工智能是全世界研究的重点对象,也是人们茶余饭后讨论的经典话题。自从OpenAI发布ChatGPT-4之后,似乎无论是在工作、娱乐、甚至是日常生活中,我们都能感受到AI带来的便利和改变。然而,对于很多人来说,人工智能还是一个比较抽象的概念,既讲不清楚什么是人工智能,对ChatGPT的了......
  • 内网渗透基础学习
    1.内网渗透测试基础知识1.1内网工作环境内网环境分为工作组环境和域环境。工作组环境:工作组环境是最常见的资源管理方式,就是将不同的计算机按照功能/部门划分为不同的组,组内机器可以在网上邻居内相互访问,该方法适用在网络中计算机不多,资产规模小,且安全管理不严的情况下。域......
  • HTML基础
    HTMLHTML历史HTML(HypertextMarkupLanguage)的历史可以追溯到上世纪90年代初,以下是HTML的主要历史阶段:HTML1.0:在1991年发布,是HTML的最初版本,用于创建基本的文本和链接结构,但功能有限。HTML2.0:于1995年发布,引入了一些新的功能和标记,如表格、图像和表单元素。这是互联网早......
  • 正则基础
    //匹配字母  constreg1=/[a-zA-Z]/  //匹配数字  constreg2=/\d/  //匹配非数字  constreg3=/\D/  //空格  constreg4=/\s/  //字母数字下划线  constreg5=/\w/  //特殊字符  constreg6=/[!@#$%>&*]/  //非字......
  • Kubernetes编程——client-go基础—— 深入 API Machinery —— REST 映射
    深入APIMachinery——REST映射 GVK与GVR之间的映射关系被称为REST映射。我理解意思是说:在Kubernetes中,RESTMapping(REST映射)用于将GroupVersionKind(GVK)与GroupVersionResource(GVR)之间建立映射关系。......
  • Nginx 常用的基础配置(web前端相关方面)
    基础配置userroot;worker_processes1;events{worker_connections10240;}http{log_format'$remote_addr-$remote_user[$time_local]''"$request"$sta......
  • R语言随机波动模型SV:马尔可夫蒙特卡罗法MCMC、正则化广义矩估计和准最大似然估计上证
    全文链接:http://tecdat.cn/?p=31162最近我们被客户要求撰写关于SV模型的研究报告,包括一些图形和统计输出本文做SV模型,选取马尔可夫蒙特卡罗法(MCMC)、正则化广义矩估计法和准最大似然估计法估计。模拟SV模型的估计方法: sim<-svsim(1000,mu=-9,phi=0.97,sigma=0.15)......
  • 【numpy基础】--数组过滤
    在numpy中,数组可以看作是一系列数值的有序集合,可以通过下标访问其中的元素。处理数组的过程中,经常需要用到数组过滤功能。过滤功能可以在处理数据时非常有用,因为它可以使数据更加干净和可读性更强。例如,在进行数据分析时,通常需要去除异常值,过滤掉不必要的元素可以使数据更加易于......
  • 第10.3篇 html基础标签
    HTML一、HTML简介1.什么是HTMLHTML:HyperTextMarkupLanguage,超文本标记语言。作用:编写网页。2.写一个简单的HTML<html><head><title>pagetitle</title></head><body><fontcolor="red">hello,kitty&......