首页 > 其他分享 >正则表达式的语法规则

正则表达式的语法规则

时间:2023-06-19 11:38:08浏览次数:31  
标签:字符 量词 匹配 正则表达式 语法 查找 内容 规则 字符串

元字符
元字符 描述
.     查找单个字符,除了换行和行结束符
\w   查找单词字符
\W   查找非单词字符
\d   查找数字
\D   查找非数字字符
\s   查找空白字符
\S   查找非空白字符
\b   匹配单词边界
\B   匹配非单词边界
\0   查找 NUL字符
\n   查找换行符
\f   查找换页符
\r   查找回车符
\t   查找制表符
\v   查找垂直制表符
\xxx 查找以八进制数 xxxx 规定的字符
\xdd 查找以十六进制数 dd 规定的字符
\uxxxx 查找以十六进制 xxxx规定的 Unicode 字符


重复类量词列表
量词 描述
n+ 匹配任何包含至少一个 n 的字符串
n* 匹配任何包含零个或多个 n 的字符串
n? 匹配任何包含零个或一个 n 的字符串
n{x} 匹配包含 x 个 n 的序列的字符串
n{x,y} 匹配包含最少 x 个、最多 y 个 n 的序列的字符串
n{x,} 匹配包含至少 x 个 n 的序列的字符串

 

正则表达式支持的边界量词
量词 说明
^ 匹配开头,在多行检测中,会匹配一行的开头
$ 匹配结尾,在多行检测中,会匹配一行的结尾

 

[abc]:查找方括号内任意一个字符。
[^abc]:查找不在方括号内的字符。
[0-9]:查找从 0 至 9 范围内的数字,即查找数字。
[a-z]:查找从小写 a 到小写 z 范围内的字符,即查找小写字母。
[A-Z]:查找从大写 A 到大写 Z 范围内的字符,即查找大写字母。
[A-z]:查找从大写 A 到小写 z 范围内的字符,即所有大小写的字母。
.    :表示任意一个字符,没有范围限制
?   :表示前面的内容出现0-1次
+   :表示前面的内容最少出现1次
*   :表示前面的内容出现任意次(0-多次)—匹配内容与+一致,只是可以一次都不写
{n}   :表示前面的内容出现n次
{n,m}   :表示前面的内容出现最少n次最多m次
{n,}   :表示前面的内容出现n次以上(含n次)
(  )     :用于分组,是将括号内的内容看做是一个整体

标签:字符,量词,匹配,正则表达式,语法,查找,内容,规则,字符串
From: https://www.cnblogs.com/sangern/p/17490693.html

相关文章

  • 正则表达式或filter_var判断网址URL是否合法
    <?phpfunctionis_url($url){$r="/http[s]?:\/\/[\w.]+[\w\/]*[\w.]*\??[\w=&\+\%]*/is";if(preg_match($r,$url)){//returntrue;echo'正确的url地址';}else{//returnfalse;echo'不是合法的url地址';}}?><......
  • 正则表达式的贪婪和非贪婪模式
    最近在写程序时,碰到一个场景,需要找到一个字符串中指定的一个片段,而不是所有片段,这就涉及到正则表达式中贪婪和非贪婪两种模式。字面意思上,正则表达式一般趋向于最大长度匹配,就是贪婪模式。匹配到结果就好,就少的匹配字符,就是非贪婪模式。直接上个例子,Stringstr="abcaxc";Patterp=......
  • Android代码检查规则Lint的自定义与应用
    前言:在日常的代码开发中,此处相信每个开发人员对代码质量都是高要求,有自己的一套代码规范,但是我们不是单独作战,往往大家都是团队作战,人是最大的变量,各人各异,如何保证团队的代码质量和代码规范呢?靠开发者自觉吗?也许有的团队有严格的CR机制,在MR阶段会进行CR,CR不通过的MR是不允许合入的......
  • 考试突击3语法分析上到下
    自上而下终结符和非终结符单词符号,称为终结符,(不可再分语法单位称为非终结符,(可再分,能出现再上下无关文法左边产生式:<>-><><>开始符号只能是非终结符直接推导=>表示只需要一步的直接推导,推导a=>b=>c,a到c是一个推导,要很多步句型,句子,语言文法G所产生句子的全体称为......
  • 基础语法2运算符
    基础语法2运算符Java运算符可以分为以下几种类型:算术运算符:用于执行数学运算,如+、*、/、%(取余)等。关系运算符:用于比较两个值的大小或相等性,如==、!=、>、<、>=、<=等。逻辑运算符:用于判断两个或多个条件的真假,如&&、||、!等。位运算符:用于对整数类型的二进制位进行操作,如&......
  • 正则表达式匹配:元字符、分组匹配、数量匹配
    数量匹配: ......
  • 【MathJax】语法总结
    基础语法1.显示公式在行中显示的(inlinemode),就用$...$单独一行显示(displaymode),则用$$...$$2.希腊字母要显示希腊字母,可以用\alpha,\beta,…,\omega,输出\(\alpha,\beta,…,\omega\)想要显示大写的话,就用\Gamma,\Delta,…,\Omega,输出\(\Gamma,\Delta,......
  • 基础语法-异常
    try-catch语句块:使用try-catch语句块可以捕获和处理异常。在try块中放置可能会抛出异常的代码,然后通过catch块捕获并处理异常。catch块中指定要处理的异常类型,并提供相应的处理逻辑。try{//可能会抛出异常的代码}catch(ExceptionType1e1){//处理ExceptionT......
  • 《编译原理》实验四:自下而上的语法分析(SLR分析法)
    本实验采用SLR分析法,对PL/0语言的算术运算进行语法分析。本程序由我个人独立完成,代码为C++98,因此可能较丑陋,且不能保证完全正确,还请见谅 ( ̄□ ̄;)一.设计思想1.文法因实验二、三中的文法均不是LR(0)文法,所以本次实验采用了实验三中的文法进行SLR分析。(1)EBNF<表达式>::=[+|-]<......
  • 用声明式宏解析 Rust 语法之 enum parser
    上一篇用声明式宏解析Rust语法我们的"macroparser"解析了function和struct,这篇来尝试parse一下更复杂的enum为什么说enum更复杂?因为它不像struct结构内都是identifier:type那样规律。enum内部的EnumItem可能是一个简单的identifier,也可能是tuple或......