正规则表达式参考

正则表达式的常用规则 语法参考: .- 除换行符以外的所有字符。 ^- 字符串开头。 $- 字符串结尾。 \d,\w,\s- 匹配数字、字符、空格。 …… 修饰符: g:全局匹配模式 i:忽略大小写进行匹配 m:多行匹配(默认为单行匹配) s:模式中的".",将匹配所有的字符,包括换行符。 常用的表达式: 一、校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ …… 阅读详情
 
开篇,还是得说说 ^ 和 $ 他们是分别用来匹配字符串的开始和结束,以下分别举例说明:
  "^The": 开头一定要有"The"字符串;
  "of despair$": 结尾一定要有"of despair" 的字符串;
  那么,
  "^abc$": 就是要求以abc开头和以abc结尾的字符串,实际上是只有abc匹配。
  "notice": 匹配包含notice的字符串。
  你可以看见如果你没有用我们提到的两个字符(最后一个例子),就是说 模式(正则表达式) 可以出现在被检验字符串的任何地方,你没有把他锁定到两边。
  接着,说说 '*', '+',和 '?',
  他们用来表示一个字符可以出现的次数或者顺序。 他们分别表示:
  "zero or more"相当于{0,},
  "one or more"相当于{1,},
  "zero or one."相当于{0,1}, 这里是一些例子:
  "ab*": 和ab{0,}同义,匹配以a开头,后面可以接0个或者N个b组成的字符串("a", "ab", "abbb", 等);
  "ab+": 和ab{1,}同义,同上条一样,但最少要有一个b存在 ("ab", "abbb", 等。);
  "ab?":和ab{0,1}同义,可以没有或者只有一个b;
  "a?b+$": 匹配以一个或者0个a再加上一个以上的b结尾的字符串。
  要点, '*', '+',和 '?'只管它前面那个字符。
  你也可以在大括号里面限制字符出现的个数,比如
  "ab{2}": 要求a后面一定要跟两个b(一个也不能少)("abb");
  "ab{2,}": 要求a后面一定要有两个或者两个以上b(如"abb", "abbbb", 等。);
  "ab{3,5}": 要求a后面可以有2-5个b("abbb", "abbbb", or "abbbbb")。
  现在我们把一定几个字符放到小括号里,比如:
  "a(bc)*": 匹配 a 后面跟0个或者一个"bc";
  "a(bc){1,5}": 一个到5个 "bc."
  还有一个字符 '│', 相当于OR 操作:
  "hi│hello": 匹配含有"hi" 或者 "hello" 的 字符串;
  "(b│cd)ef": 匹配含有 "bef" 或者 "cdef"的字符串;
  "(a│b)*c": 匹配含有这样多个(包括0个)a或b,后面跟一个c的字符串;
  一个点('.')可以代表所有的单一字符,不包括"/n"
  如果,要匹配包括"/n"在内的所有单个字符,怎么办?
  对了,用'[/n.]'这种模式。
  "a.[0-9]": 一个a加一个字符再加一个0到9的数字
  "^.{3}$": 三个任意字符结尾 .
  中括号括住的内容只匹配一个单一的字符
  "[ab]": 匹配单个的 a 或者 b ( 和 "a│b" 一样);
"[a-d]": 匹配'a' 到'd'的单个字符 (和"a│b│c│d" 还有 "[abcd]"效果一样); 一般我们都用[a-zA-Z]来指定字符为一个大小写英文
  "^[a-zA-Z]": 匹配以大小写字母开头的字符串
  "[0-9]%": 匹配含有 形如 x% 的字符串
  ",[a-zA-Z0-9]$":匹配以逗号再加一个数字或字母结尾的字符串
  你也可以把你不想要得字符列在中括号里,你只需要在总括号里面使用'^' 作为开头 "%[^a-zA-Z]%" 匹配含有两个百分号里面有一个非字母的字符串。
  要点:^用在中括号开头的时候,就表示排除括号里的字符。为了PHP能够解释,你必须在这些字符面前后加'',并且将一些字符转义。
  不要忘记在中括号里面的字符是这条规路的例外?在中括号里面, 所有的特殊字符,包括(''), 都将失去他们的特殊性质 "[*/+?{}.]"匹配含有这些字符的字符串。
  还有,正如regx的手册告诉我们: "如果列表里含有 ']', 最好把它作为列表里的第一个字符(可能跟在'^'后面)。 如果含有'-', 最好把它放在最前面或者最后面, or 或者一个范围的第二个结束点[a-d-0-9]中间的‘-’将有效。
  看了上面的例子,你对{n,m}应该理解了吧。要注意的是,n和m都不能为负整数,而且n总是小于m. 这样,才能 最少匹配n次且最多匹配m次。如"p{1,5}"将匹配 "pvpppppp"中的前五个p.
  下面说说以/开头的
  /b 书上说他是用来匹配一个单词边界,就是……比如've/b',可以匹配love里的ve而不匹配very里有ve
  /B 正好和上面的/b相反。例子我就不举了
  ……突然想起来……可以到 http://www.phpv.net/article.php/251 看看其它用/ 开头的语法
  好,我们来做个应用:
  如何构建一个模式来匹配 货币数量 的输入
  构建一个匹配模式去检查输入的信息是否为一个表示money的数字。我们认为一个表示money的数量有四种方式: "10000.00" 和 "10,000.00",或者没有小数部分, "10000" and "10,000". 现在让我们开始构建这个匹配模式:
  ^[1-9][0-9]*$
  这是所变量必须以非0的数字开头。但这也意味着 单一的 "0" 也不能通过测试。 以下是解决的方法:
  ^(0│[1-9][0-9]*)$
  "只有0和不以0开头的数字与之匹配",我们也可以允许一个负号在数字之前:
  ^(0│-?[1-9][0-9]*)$
  这就是: "0 或者 一个以0开头 且可能有一个负号在前面的数字。" 好了,现在让我们别那么严谨,允许以0开头。现在让我们放弃负号 , 因为我们在表示钱币的时候并不需要用到。 我们现在指定 模式 用来匹配小数部分:
  ^[0-9]+(/.[0-9]+)?$
  这暗示匹配的字符串必须最少以一个阿拉伯数字开头。 但是注意,在上面模式中 "10." 是不匹配的,只有 "10" 和 "10.2" 才可以。(你知道为什么吗)
  ^[0-9]+(/.[0-9]{2})?$
  我们上面指定小数点后面必须有两位小数。如果你认为这样太苛刻,你可以改成:
  ^[0-9]+(/.[0-9]{1,2})?$
  这将允许小数点后面有一到两个字符。 现在我们加上用来增加可读性的逗号(每隔三位), 我们可以这样表示:
  ^[0-9]{1,3}(,[0-9]{3})*(/.[0-9]{1,2})?$
  不要忘记 '+' 可以被 '*' 替代 如果你想允许空白字符串被输入话(为什么?)。 也不要忘记反斜杆 ‘/’ 在php字符串中可能会出现错误(很普遍的错误)。
  现在,我们已经可以确认字符串了, 我们现在把所有逗号都去掉 str_replace(",", "", $money) 然后在把类型看成 double然后我们就可以通过他做数学计算了。
  再来一个:
  构造检查email的正则表达式
  在一个完整的email地址中有三个部分:
  1. 用户名 (在 '@' 左边的一切),
   2.'@',
  3. 服务器名(就是剩下那部分)。
  用户名可以含有大小写字母阿拉伯数字,句号 ('.'), 减号('-'), and 下划线 ('_')。 服务器名字也是符合这个规则,当然下划线除外。
现在, 用户名的开始和结束都不能是句点。 服务器也是这样。 还有你不能有两个连续的句点他们之间至少存在一个字符,好现在我们来看一下怎么为用户名写一个匹配模式:
  ^[_a-zA-Z0-9-]+$
  现在还不能允许句号的存在。 我们把它加上:
  ^[_a-zA-Z0-9-]+(/.[_a-zA-Z0-9-]+)*$
  上面的意思就是说: "以至少一个规范字符(除了。)开头,后面跟着0个或者多个以点开始的字符串。"
  简单化一点, 我们可以用 eregi()取代 ereg()。eregi()对大小写不敏感, 我们就不需要指定两个范围 "a-z" 和 "A-Z" ? 只需要指定一个就可以了:
  ^[_a-z0-9-]+(/.[_a-z0-9-]+)*$
  后面的服务器名字也是一样,但要去掉下划线:
  ^[a-z0-9-]+(/.[a-z0-9-]+)*$
  好。 现在只需要用“@”把两部分连接:
  ^[_a-z0-9-]+(/.[_a-z0-9-]+) *@[a-z0-9-]+(/.[a-z0-9-]+)*$
  这就是完整的email认证匹配模式了,只需要调用
  eregi(‘^[_a-z0-9-]+(/.[_a-z0-9-]+) *@[a-z0-9-]+(/.[a-z0-9-]+)*$ ’,$eamil)
  就可以得到是否为email了。
  正则表达式的其他用法
  提取字符串
  ereg() and eregi() 有一个特性是允许用户通过正则表达式去提取字符串的一部分(具体用法你可以阅读手册)。比如说,我们想从 path/URL 提取文件名 ? 下面的代码就是你需要:
  ereg("([^///]*)$", $pathOrUrl, $regs);
  echo $regs[1];
  高级的代换
  ereg_replace() 和 eregi_replace()也是非常有用的:假如我们想把所有的间隔负号都替换成逗号:
  ereg_replace("[ /n/r/t]+", ",", trim($str));
  最后,我把另一串检查EMAIL的正则表达式让看文章的你来分析一下。
  "^[-!#$%&/'*+//./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&/'*+///0-9=?A-Z^_`a-z{|}~]+/.'.'[-!#$%&/'*+//./0-9=?A-Z^_`a-z{|}~]+$"
  如果能方便的读懂,那这篇文章的目的就达到了。
 
 
过滤aviator正则表达式规则aviator自定义正则表达式 1、自定义的表达式配置案例 patternfunction('李克强:抢到桥店强调我们要做好今天','title') 2、自定义AviatorObject实现的依赖配置 <!-- https://mvnrepository.com/artifact/com.googlecode.aviator/aviator --> <dependency> <groupId>com.googlecode.aviator</groupId> .. 阅读详情

相关推荐

Keil5与ARM编译器V5安装指南:从下载到配置全流程解析

本文提供Keil5与ARM Compiler V5的完整安装与配置指南。针对新版Keil5默认不包含V5编译器导致老工程编译失败的问题,详细解析了从软件下载、授权管理到获取并正确安装ARM Compiler V5(AC5)的全流程,确保开发者能顺利搭建兼容老项目的稳定开发环境。

weixin_29158047的博客 874

正则表达式介绍

揭开正则表达式的神秘面纱 [摘自:http://www.regexlab.com/zh/regref.htm] 引言 正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab+” 描述的特征是“一个 'a' 和 任意个 'b' ”,那么 'ab', 'abb', 'abbbbbbbbbb' 都符合这个特征。...

LFfootprint的博客 564

Cadence原理图设计10个高效技巧:从封装绑定到BOM表导出全流程

本文为硬件工程师提供了一套Cadence OrCAD Capture CIS原理图设计的高效实战指南。文章深度解析了从封装库的精准管理与CIS数据库绑定、封装批量处理技巧,到设计缓存清理、跨页信号追踪,再到关键的DRC检查、网表导出以及智能BOM报表生成的全流程核心技巧,旨在帮助工程师提升设计效率与可靠性,规避常见错误。

weixin_29178069的博客 201

正则表达式(全)

通过上面几个简单的示例,可以了解到常见的基础正则表达式的元字符主要包括以下几个^ 匹配输入字符串的开始位置。除非在方括号表达式中使用,表示不包含该字符集合。要匹配”^”字符本身,请使用"\^"$ 匹配输入字符串的结尾位置。如果设置了RegExp对象的 Multiline属性,则"$”也匹配'\n'或'\r’,。要匹配”$"字符本身,请使用”\$". 匹配除"\r\n"之外的任何单个字符\ 反斜杠,又叫转义字符,去除其后紧跟的元字符或通配符的特殊意义* 匹配前面的子表达式零次或多次。...

a_b_e_l_的博客 24万+

麦克风声源定位原理_声源定位—如何定位到噪声根源?

前言TPA(传递路径分析)专题系列已经开篇。其遵循方法论:源(Source)——路径(Path)——响应(Receiver)有人说TPA好,它可以识别出路径处甚至源的载荷特征,可以量化各个路径的贡献量。有人说声源定位好,不管东西南北中,“源”自其中。但是,声源定位识别出来色彩丰富的一个结果,这结果被您拿来应付工作了,还是真正帮您解决了问题?声源定位定位到了噪声的根源了么?对于一些声源现,...

weixin_39943678的博客 3973

K210开发板学习笔记(三)——STM32+K210+SD卡实现人脸识别(完整K210代码)

更新日记:2022年4月26日 更新了串口通信部分的内容,本文写的略为粗糙,恐有不当之处,希望大家不吝赐教。 人脸识别 一、MaixPy IDE开发 参考博主晨少hc的博文(https://blog.youkuaiyun.com/HuangChen666/article/details/113995079)来实现人脸识别功能,我用的硬件是亚博智能的K210开发板,在配置工程中有几步和这个博主的不一样,需要注意。 所需要的文件有:模型文件),脚本文件,ide需要的bin文件...

Embedded learner的博客 4万+

常用js正则表达式大全

一、校验数字的js正则表达式 1 数字:^[0-9]*$ 2 n位的数字:^d{n}$ 3 至少n位的数字:^d{n,}$ 4 m-n位的数字:^d{m,n}$ 5 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 7 带1-2位小数的正数或负数:^(-)?d+(.d{1,2})?...

zhang150114的博客 3065

资源描述框架RDF及Turtle

文章目录1. RDF1.1 简介1.2 格式1.3 RDF的要求2. Turtle2.1 语法2.1.1 简单三元组2.1.2 Turtle中的命名空间2.1.3 Base URI2.1.4 谓语列表2.1.5 宾语列表2.1.6 空白节点(bNodes)2.1.7 数据类型2.1.8 Class membership2.1.9 空URI2.1.10 集合 1. RDF 1.1 简介 RDF(Resource Description Framework)语义网的标准数据模型,是一个用于描述 Web 上的资

doublewhite233的博客 2494

最全常用正则表达式大全

一、校验数字的表达式 1. 数字:^[0-9]*$ 2. n位的数字:^\d{n}$ 3. 至少n位的数字:^\d{n,}$ 4. m-n位的数字:^\d{m,n}$ 5. 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6. 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 7. 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$ 8. 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$ 9. 有两

ligl的博客 11万+

Mamba vs YOLO:目标检测选型指南(附实际项目对比)

本文深入对比了Mamba和YOLO在目标检测领域的性能差异与应用场景。通过实际项目数据,分析了两者在城市交通监控、工业质检等场景下的表现,提供了详细的选型指南和部署优化建议,帮助开发者根据实时性、精度等需求选择最适合的解决方案。

weixin_29062255的博客 368

智元机器人开源具身仿真框架 Genie Sim 入门教程

GenieSim是AgiBot推出的具身智能仿真框架,提供完整闭环开发管道,包括轨迹生成、模型训练和基准测试。框架支持Docker容器化部署,要求Ubuntu 22.04和NVIDIA硬件环境。主要功能涵盖: 支持12种基准测试任务 提供ADER评估框架 集成UniVLA/RDT等基线模型 支持PICO/键盘遥操作 具备轨迹记录回放功能 提供完整API控制接口 开发者可通过Hugging Face获取场景资产,使用标准化ROS主题与仿真环境交互。框架特别优化了碰撞检测和抓取物理模拟,适用于从简单抓取到复杂操

2506_90492529的博客 2540

17种正则表达式

"^//d+$"  //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$"  //正整数 "^((-//d+)|(0+))$"  //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$"  //负整数 "^-?//d+$"    //整数 "^//d+(//.//d+)?$"  //非负浮点数(正浮点数 + 0) "^(([0-9]+//.[0-9]*[1-

Closed 692

备战2025数学建模国赛(算法46):多目标优化

本篇博客将深入浅出地介绍多目标优化的核心概念、主流算法,并重点结合一个数学建模竞赛的经典案例,提供完整的Python代码实现,助你在未来的竞赛中游刃有余。它通过寻找帕累托最优解集,完美地诠释了“鱼与熊掌不可兼得”的权衡思想,为最终决策提供科学依据。这些问题都包含多个相互冲突的目标,传统的单目标优化方法(如梯度下降、单纯形法)对此无能为力,因为它们无法同时优化多个目标。在数学建模竞赛中,我们面临的绝大多数问题都不是单一的“最好”,而是充满权衡与妥协的“最优”。记住,成功的建模不仅在于解出问题,更在于清晰地。

YOLO 284

[C#]正则表达式验证密码是否符合规则

0x00 一句话 如果想直接使用解决方案的话,可以参考下列代码即可实现。 下面的正则表达式设置了5个规则。 必须包含一个小写字母。 必须包含一个大写字母。 必须包含一个数字。 必须包含一个特殊符号,定义于Password special characters 长度必须在8-32之间。 下列的 PASSWORD_STRENGTH_1 和 PASSWORD_STRENGTH_2等价, 只是不同的写...

ToraNe的博客 5833

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

正表达式

1、正则表达式语法 参考资料: 老马说编程——正则表达式(上) 正则表达式30分支入门教程 正则表达式语法总结 注:加?时表示惰性匹配,即匹配的串尽可能短。如对于aabab,分别用 a.*b、a.*?b 匹配时,前者只有一个匹配结果:aabab,而后者有两个匹配结果:aab、ab。其他通配符的惰性形式同理。 注: 分组命名也可以写为(?'name'X),...

weixin_30657999的博客 111

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

正则表达式规则

正则表达式基础内容学习和记录

2201_75840975的博客 1342

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Java开发中常用各种规则引擎、表达式引擎归集

Osworkflow是一个轻量化的流程引擎,基于状态机机制,数据库表很少,Osworkflow提供的工作流构成元素有:步骤(step)、条件(conditions)、循环(loops)、分支(spilts)、合并(joins)等,但不支持会签、跳转、退回、加签等这些操作,需要自己扩展开发,有一定难度,Camunda不仅带有引擎,还带有非常强大的工具,用于建模,任务管理,操作监控和用户管理,所有这些都是开源的。,容易造成误解和使用障碍。,比如表单生成器(表单引擎)、历史数据同步至其他数据源、ES等。

秃了也弱了 2810

Prometheus 报警规则参考

prometheus的报警规则案例参考[编辑器原因导致判断符号显示不正确]。 规则是通过文件方式来定义的,这些规则加载目录可以通过prometheus.yaml 配置文件进行定义,比如: # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: - "rule/*.yml" # - "first_rules.yml" # - "se

weixin_45203131的博客 1494

JS - 常用正侧表达式

常用正侧表达式

小许同学的博客 436

正则表达式——常用的匹配规则

常用的匹配规则 匹配字符 符号 匹配规则 . 匹配任意1个字符,除了换行符\n [ ] 这是一个集合,匹配[ ]中的任意一个字符 \d 匹配一个数字,即0-9 \D 匹配非数字,即不是数字 \s 匹配空白,即空格,tab键 \S 匹配非空白 \w 匹配单词字符,即a-z,A-Z,0-9 \W 匹配非单词字符 * 匹配前一个字符出现0次或无数次,即可有可无 + 匹配前一个字符出现1次或无数次,即至少出现1次 \ ? 匹配前一个字符出现1次或0次,即要么有

一名在读学生 1526

正则表达式规则简单归纳

正则表达式 正则表达式,又称规则表达式。(英语:Regular Expression,常简写为regex)。正则表达式通常被用**来检索、替换那些符合某个模式(规则)的文本。支持正则表达式的有:PHP、Java、Python、JavaScript等。有了正则表达式写代码更加简洁,通常两三行代码就可以达到目的。 任意一个字符表示匹配任意对应的字符,如a匹配a,7匹配7,-匹配-。 []代表匹配中括号中其中任一个字符,如[abc]匹配a或b或c。 -在中括号里面和外面代表含义不同,如在外时,就匹配-

weixin_46474145的博客 551

正则表达式参考大全

一、校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$ 正数、负数、和小数:^(\-|...

HarryMing的技术分享 231
上一篇: tomcat的 tomcat-user.xml
下一篇: POST与GET在运用时候的区别
ASdeAK1983
博客等级 码龄19年 3粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值