正则表达式ReqExp

1. 概述

1.1 正则表达式举例

  1. 匹配国内电话号码:^\d{3}-\d{8}|\d{4}-\d{7}$

  2. 匹配腾讯QQ号:^1-90-9{4,} $

  3. 匹配中国邮政编码:^\d{6} $

  4. 匹配身份证:^\d{15}|\d{18} $

  5. 匹配由数字和26个英文字母组成的字符串 ^A-Za-z0-9+$

  6. 匹配Email地址:^\w+(-+.\w+)*@\w+(-.\w+)*\.\w+(-.\w+)* $

  7. 匹配中文字符的正则表达式: ^\\u4e00-\\u9fa5 $

1.2 什么是正则表达式

  1. Regular Expression,在代码中常简写为regex

  2. 正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。

  3. 在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。

1.3 如何创建正则表达式 js

  1. var reg=/china/;

  2. var reg=new RegExp("china");

2 正则表达式的通配符号

/.../ :表示正则正则表达的声明

^ :匹配字符串开始

$ :匹配字符串结束

\s :任何空白字符 一个

\S :任非空白字符 一个

\w :匹配一个单词(字母、数字、下划线)a-zA-Z0-9_A-z0-9_

\W :匹配一个非单词

\d :匹配任何一个数字 0-9

\D :匹配一个非数字 \^0-9

. :匹配除换行符之外的任意字符

{n} :匹配n次

{n,} :匹配至少n次

{n,m}:匹配至少n次,不超过m次

* :匹配0到多次 {0,}

  • :匹配1到多次 {1,}

? :匹配0次或1次 {0,1}

|---------------------------------------------------------------------------------|----------------------|
| 表达式 | 描述 |
| ++abc++ | 查找方括号之间的任何字符。 |
| ++\^abc++ | 查找任何不在方括号之间的字符。 |
| 0-9 | 查找任何从 0 至 9 的数字。 |
| a-z | 查找任何从小写 a 到小写 z 的字符。 |
| A-Z | 查找任何从大写 A 到大写 Z 的字符。 |
| A-z | 查找任何从大写 A 到小写 z 的字符。 |
| adgk | 查找给定集合内的任何字符。 |
| \^adgk | 查找给定集合外的任何字符。 |
| (red|blue|green) | 查找任何指定的选项。 |

3 使用正则表达式ReqExp

|----------------------------------------------------------------------------|-----------------------------|------------|------------|
| 方法 | 描述 | FF | IE |
| ++compile++ | 编译正则表达式。 | 1 | 4 |
| ++exec++ | 检索字符串中指定的值。返回找到的值,并确定其位置。 | 1 | 4 |
| ++test++ | 检索字符串中指定的值。返回 true 或 false。 | 1 | 4 |

|---------------------------------------------------------------------|------------------|------------|------------|
| 方法 | 描述 | FF | IE |
| ++search++ | 检索与正则表达式相匹配的值。 | 1 | 4 |
| ++match++ | 找到一个或多个正则表达式的匹配。 | 1 | 4 |
| ++replace++ | 替换与正则表达式匹配的子串。 | 1 | 4 |
| ++split++ | 把字符串分割为字符串数组。 | 1 | 4 |

常用的正则表达式参照:在线正则表达式测试

http://www.w3s.com.cn/js/jsref_obj_regexp.asp

相关推荐
AlienZHOU1 小时前
DeepSeek Harness 插件:HTML 实时可视化编辑
前端·agent·deepseek
再吃一根胡萝卜2 小时前
微服务治理的“四大护法”:从 Django 视角理解 Spring Cloud 核心组件
后端
再吃一根胡萝卜2 小时前
面试终极挑战:如何用 Django 经验,回答 Java 微服务实战问题?
后端
To_OC3 小时前
装完 ESLint 它一声不吭?我还以为代码写得多好
后端·node.js·eslint
剪刀石头布啊3 小时前
javascript手动实现继承
前端
凤山老林4 小时前
精细化流量治理:Spring Boot 动态特性开关与灰度发布体系
java·spring boot·后端
Elias不吃糖4 小时前
Langfuse 入门:Trace、Prompt、Dataset、Experiment、Evaluator
前端·python·prompt·langfuse
vipbic4 小时前
一个前端的 9 天重构:我是怎么用 Codex 重做航栈的
前端·javascript·后端
Eason_Lou6 小时前
【无标题】
前端·vue.js·html