找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 文档 工具 设计
查看: 180|回复: 0

一个正则表达式备忘单

[复制链接]

2万

主题

1331

回帖

2万

积分

超级版主

教育辅助界扛把子

附加身份标识
精华
1
热心
7
听众
1
威望
28
贡献
14972
违规
0
书币
50631
注册时间
2020-4-8

论坛元老灌水之王

发表于 2022-1-3 18:01 | 显示全部楼层 |阅读模式
一个正则表达式备忘单

如想专门学习一番 请翻看:https://www.cdsy.xyz/tools/zhengze/

[Diff] 纯文本查看 复制代码
let regex;
 
/* 匹配特定的字符串 */
regex = /hello/; // 查找斜杠中的字符串(大小写敏感)……匹配 "hello", "hello123", "123hello123", "123hello",但不匹配 "hell0", "Hello"
regex = /hello/i; // 查找斜杠中的字符串(大小写不敏感)……匹配 "hello", "HelLo", "123HelLO"
regex = /hello/g; // 全局查找斜杠中的字符串……
 
/* 通配符 */
regex = /h.llo/; // "." 匹配除了换行外的任何一个字符……匹配 "hello", "hallo",但不匹配 "h\nllo"
regex = /h.*llo/; // "*" 匹配任何字符零次或多次,如 "hello", "heeeeeello", "hllo", "hwarwareallo"
 
/* 简略字符类 */
regex = /\d/; // 匹配数字
regex = /\D/; // 匹配非数字
regex = /\w/; // 匹配单词字符 (a-z, A-Z, 0-9, _)
regex = /\W/; // 匹配非单词字符
regex = /\s/; // 匹配空白字符(\r (回车),\n (换行), \t (制表符), \f (换页符))
regex = /\S/; // 匹配非空白字符
 
/* 特定字符 */
regex = /[aeiou]/; // 匹配方括号中的任意字符
regex = /[ck]atherine/; // 匹配 catherine 或 katherine
regex = /[^aeiou]/; // 匹配除方括号内以外的字符
 
/* 字符范围 */
regex = /[a-z]/; // 匹配小写字母
regex = /[A-Z]/; // 匹配大写字母
regex = /[e-l]/; // 匹配从 e 到 l 的字母
regex = /[F-P]/; // 匹配 F 到 P 的字母
regex = /[0-9]/; // 匹配数字
regex = /[5-9]/; // 匹配 5 至 9 的数字
regex = /[a-zA-Z]/; // 匹配大小写字母
regex = /[^a-zA-Z]/; // 匹配非字母
 
/* 使用量词重复匹配 */
regex = /(hello){4}/; // 匹配 "hellohellohellohello"
regex = /hello{3}/; // 匹配 "hellooo" 和 "helloooo",但不匹配 "helloo"
regex = /\d{3}/; // 匹配三个数字 (匹配 "312", "122", "111", "12312321",但不匹配 "12")
regex = /\d{3,7}/; // 匹配三到七个数字
regex = /\d{3,}/; // 匹配至少三个数字
 
/* 使用星号和加号匹配重复 */
regex = /ab*c/; // 匹配零个或多个重复的 "b"(匹配 "abc", "abbbbc", "ac")
regex = /ab+c/; // 匹配一个或多个重复的 "b"(匹配 "abc", "abbbbc", 但不匹配 "ac")
 
/* 匹配开头或结尾的项目 */
regex = /^[A-Z]\w*/; // 匹配 "H", "Hello", 但不匹配 "hey"
regex = /\w*s$/; // 匹配 "cats", "dogs", "avocados", 但不匹配 "javascript"
 
/* 匹配单词分界
   单词分界位置
   1. 首字符是单词字符的字符串之前
   2. 末字符是单词字符的字符串之后
   3. 两个字符间,其中一个属于单词字符而另一个不是 */
regex = /\bmeow\b/; // 匹配 "hey meow lol", "hey:meow:lol", 但不匹配 "heymeow lol"
 
/* 分组 */
regex = /it is (ice )?cold outside/; // 匹配 "it is ice cold outside" 和 "it is cold outside"
regex = /it is (?:ice )?cold outside/; // 跟上面一样,但这是一个非捕获分组
regex = /do (cats) like taco /; // 匹配 "do cats like taco cats"
regex = /do (cats) like (taco)\? do   like you\?/; // 匹配 "do cats like taco? do taco cats like you?"
 
//分支重置分组(Perl, PHP, R, Delphi 等语言支持此功能,JS 不支持,因此注释掉)
// regex = /(?|(cat)|(dog))/; // 匹配 "catcat" 和 "dogdog"
 
/* 多选匹配 */
regex = /i like (tacos|boba|guacamole)\./; // 匹配 "i like tacos.", "i like boba.", and "i like guacamole."
 
/* 向前引用(Perl, PHP, R, Delphi 等语言支持此功能,JS 不支持,因此注释掉)*/
// regex = /(train|(choo))+/; // 匹配 "choo", "choochoo", "chootrain", choochootrain", 但不匹配 "train"
 
/* 顺序环视 */
regex = /z(?=a)/; // 肯定型顺序环视……匹配在 "a" 之前的 "z" (比如 pizza),但不匹配首字符 "z"
regex = /z(?!a)/; // 否定型顺序环视……匹配首字符 "z",除了在 "a" 之前的 "z"
 
/* 逆序环视 */
regex = /(?<=[aeiou])\w/; // 肯定型逆序环视……匹配在元音后的单词字符
regex = /(?<![aeiou])\w/; // 否定型逆序环视……匹配不在原因后的单词字符
 
/* 我觉得很有用的函数 */
regex.test("hello"); // 如果有匹配则返回真
regex.execute("hello"); // 有匹配返回数组,反之为 null
"football".replace(/foot/, "basket"); // 用第二个参数取代匹配


Great works are not done by strength, but by persistence! 历尽艰辛的飞升者,成了围剿孙悟空的十万天兵之一。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号


免责声明:
本站所发布的第三方软件及资源(包括但不仅限于文字/图片/音频/视频等仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢某程序或某个资源,请支持正版软件及版权方利益,注册或购买,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To: admin@cdsy.xyz

QQ|Archiver|手机版|小黑屋|城东书院 ( 湘ICP备19021508号-1|湘公网安备 43102202000103号 )

GMT+8, 2025-1-18 15:38 , Processed in 0.053072 second(s), 28 queries .

Powered by Discuz! CDSY.XYZ

Copyright © 2019-2023, Tencent Cloud.

快速回复 返回顶部 返回列表