首页 > 其他分享 >正则表达式 基础

正则表达式 基础

时间:2023-05-15 13:12:43浏览次数:44  
标签:字符 匹配 正则表达式 reg2 基础 str const match

Tips: 字符串方法match()返回根据正则表达式匹配到的结果

1. 常用符号/链接标志

1.1 开头结尾标志

  • ^ 以...开头
  • $以...结尾
const reg1 = /^\d/ // 以数字开头
const reg2 = /^[a-z]/ // 以小写字母开头
const reg3 = /\d$/ // 以数字结尾
const reg4 = /[a-z]$/ // 以小写字母结尾

const str = '123abc'
str.match(reg1) // '1'
str.match(reg2) // ''
str.match(reg3) // ''
str.match(reg4) // 'c'

1.2 多次匹配(限定符)

  • +号,匹配前面的字符1 ~ n次
  • *号,匹配前面的字符0 ~ n次
  • 号,匹配前面的字符0 ~ 1次
  • {n,},匹配前面的字符至少n次
  • {n,m},匹配前面的字符n ~ m次
const reg1 = /\d/ // 匹配单个数字
const reg2 = /\d+/ // 匹配1~n个数字
const reg3 = /\d*/ // 匹配0~n个数字
const reg4 = /\d?/ // 匹配0~1个数字
const reg5 = /\d{2,}/g // 匹配至少2个数字(g全局匹配)
const reg6 = /\d{3,6}/g // 匹配3~6个数字

const str = '12345678abc98def7'
str.match(reg1) // '1'
str.match(reg2) // '12345678'
str.match(reg3) // '12345678'
str.match(reg4) // '1'
str.match(reg5) // ['12345678', '98']
str.match(reg6) // '123456'

2. 字符

2.1 普通字符

  • [abc]匹配[]中的所有字符
  • [^abc]匹配除去[^]中的所有字符
  • [A-Z]匹配某个区间的所有字符
  • .匹配除去换行符(\n、\r)的所有字符
  • \w匹配字母、数字、下划线。等价于[A-Za-z0-9_]
const reg1 = /[ame]{3}/ // 匹配ame三个字符
const reg2 = /[^N]+/ // 匹配除去N的所有字符
const reg3 = /[a-z]+/ // 匹配a-z这个区间的所有字符
const reg4 = /.+/ // 匹配除去换行符(\n、\r)的所有字符
const reg5 = /\w{3,6}/ // 匹配字母、数字、下划线。3 ~ 6个字符

const str = 'Name1-2_3'
str.match(reg1) // 'ame'
str.match(reg2) // 'ame1-2_3'
str.match(reg3) // 'ame'
str.match(reg4) // 'Name1-2_3'
str.match(reg5) // 'Name1'

2.2 非打印字符

  • \d,匹配一个数字
  • \n,匹配一个换行符
  • \s,匹配任何空白字符
  • \S,匹配任何非空白字符

3. 修饰符

  • 修饰符(flags)用于指定额外的匹配策略。
  • 语法:/pattern/flags

3.1 常用修饰符

  • i,ignore不区分大小写
  • g,global全局匹配
  • m,multi line多行匹配
const reg1 = /[a-z]+/i // 匹配字母,不区分大小写
const reg2 = /[A-Z]+/ // 匹配大写字母
const reg3 = /[A-Z]+/g // 匹配大写字母,且全局

const str = 'AncientChina'
str.match(reg1) // 'AncientChina'
str.match(reg2) // 'A'
str.match(reg3) // ['A', 'C']

参考

https://www.runoob.com/regexp 菜鸟教程

标签:字符,匹配,正则表达式,reg2,基础,str,const,match
From: https://www.cnblogs.com/NZVN/p/17401544.html

相关文章

  • MySQL 基础内容
    事务Mysql的事务是由一系列的SQL指令所构成的逻辑处理单元,这些指令要么全部执行,要么全部不执行,可以使用COMMIT或ROLLBACK指令来结束一个事务。Mysql中事务的ACID特性:原子性(Atomicity),事务中的所有操作要么全部执行成功,要么全部回滚。一致性(Consistency),事务必须......
  • Java基础语法(十二):try-catch块
    前言Java异常处理机制是Java程序设计中至关重要的一部分。它允许程序员像处理普通数据一样处理异常,并根据异常类型采取合适的措施。其中一个非常基本的异常处理机制是try-catch块。本文将深入探讨Java中的try-catch块,让读者了解它的各种用法和最佳实践。一、try-catch是什......
  • (一)shell 脚本基础
    观看视频:https://www.bilibili.com/video/BV14L4y157Bv/?spm_id_from=333.999.0.0介绍shell是一个命令行解释器,它接收应用程序/用户命令,然后调用操作系统内核。shell还是一个功能强大的编程语言,易编写、易调试、灵活性强。第一行的作用#!/bin/bashShebang在计算机程序中,s......
  • C基础笔记(数组)
    数组 声明一个数组,需要指定元素的类型和元素的数量数组都是以0作为它们第一个元素的索引,即0作为第一位存储数据数组是用来存储一系列数据(相同类型的变量)语法: 数组类型 数组名称[整型常量]#include<stdio.h>intmain(){intcj[10];//数组的定义cj......
  • vue3.0基础
    定义响应式数据ref(可以定义引用类型和基础类型变量)constdata=ref({key:value})constdata=ref(0)还可以获取定义了ref属性的domconstrefName=ref(null)//refName必须与定义的ref属性一致reactive(只能定义引用类型变量)constdata=reactive({key:value})计算器属......
  • 【从0开始编写webserver·基础篇#01】为什么需要线程池?写一个线程池吧
    线程池参考:1、游双Linux高性能服务器编程2、TinyWebServer注:虽然是"从0开始",但最好对(多)线程、线程同步等知识点有所了解再看,不然可能有些地方会理解不到位(但也有可能是我没说明到位,水平有限,见谅)Web服务器与线程池的关系Web服务器需要同时处理多个客户端请求,并且每个请求可......
  • PE学习——PE空白区添加代码,制作感染型病毒基础
    镇楼图,PE文件的内存映射图要熟悉,计算地址要以内存中的为准: PE空白区添加代码现在我们有一个任务,需要在空白区添加一段代码(你也可以称之为Shellcode),并且在程序运行之前执行这段代码;首先我们要知道PE空白区是什么,PE空白区表示PE文件按照对齐方式之后多出来的部分,可以是节与节......
  • 综合能源系统优化调度(冷热电联产)的程序matlab、微网优化调度基础学习 综合能源系统
    综合能源系统优化调度(冷热电联产)的程序matlab、微网优化调度基础学习综合能源系统采用多目标粒子群算法,求解优化调度模型。适合刚入门综合能源研究方向(冷热电联供)并想在前人的基础上进行创新的同学。程序注释清晰明了,易懂上手快,优化套路都是相通的!!!参考文献:请同学知网下载《基......
  • vue基础入门综合项目练习-悦听播放器
    1、简介根据B站视频黑马程序员vue前端基础教程-4个小时带你快速入门vue学习制作。再次感谢免费无私的教学视频。感谢@李予安丶提供的精美的css。2、展示3、技术点vue2axios4、功能说明4.1、基本功能搜索歌曲播放歌曲显示歌曲热评播放MV4.2、修复问题......
  • 01-面试必会-JAVA基础篇
    1.Final有什么用?被final修饰的类不可以被继承被final修饰的方法不可以被重写被final修饰的变量不可以被改变,被final修饰不可变的是变量的引用,而不是引用指向的内容,引用指向的内容是可以改变的2.什么是重载(Overload)和重写(Override)?重载:发生在同一个类中,方法名相......