【正则表达式】——07使用子表达式

  • 子表达式

子表达式是一个更大的表达式的一部分,把一个表达式划分成一系列表达式的目的是为了把那些表达式当作一个独立元素使用。

子表达式通过()括起来

注意:()为元字符,如果要匹配这两个字符,需要使用转义\(  \)

举例:

apple{2}:本意是想匹配apple连续两次,但是{2}紧跟着它的前一个字符,即匹配applee

若想匹配appleapple,则要把apple当作一个表达式,(apple)就是一个子表达式

总结:

  1. 子表达式通过()定义,并用于对表达式进行分组
  2. 子表达式的一般用法是精确的控制重复的对象和|条件的使用,如果需要的话,子表达式可以嵌套
  3. 子表达式可以理解为四则混合运算

原文地址:https://www.cnblogs.com/testxiaobai/p/10773435.html

时间: 2024-10-08 15:19:05

【正则表达式】——07使用子表达式的相关文章

Delphi 正则表达式之TPerlRegEx 类的属性与方法(2): 关于子表达式

Delphi 正则表达式之TPerlRegEx 类的属性与方法(2): 关于子表达式 // MatchedExpression 与 SubExpressions[0] var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := 'CodeGear Delphi 2007';   reg.RegEx  := 'Delphi';   while reg.MatchAgain do   begin    

Delphi 正则表达式语法(8): 引用子表达式 - 也叫反向引用

Delphi 正则表达式语法(8): 引用子表达式 - 也叫反向引用 //准备: 我们先写一个搜索所有英文单词的表达式 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := 'one two three four five six seven eight nine ten';   reg.RegEx  := '\b[A-Za-z]+\b'; //这个表达式就可以找到所有的英文单词   reg.

使用子表达式

子表达式是一个更大的表达式的一部分,把一个表达式划分为一系列表达式的目的是为了把那些表达式当作一个独立元素来使用.子表达式必须用(和)括起来. 注意:(和)是元字符,如果需要匹配(和)本身,就必须使用它的转义序列\(和\)  .子表达式是可以提高可读性,对表达式的实际行为也没有任何不良影响,但对匹配操作的速度可能会有点儿影响. hello,my name is Ben Forta,and I am the author of books on SQL ,ColdFusion,WAP,Window

C编译器剖析_5.2.2 中间代码生成及优化_再论符号symbol与公共子表达式

5.2.2    再论符号symbol与公共子表达式 在介绍算术表达式的翻译前,让我们简单重温一下第2.5节中的"图2.5.4 公共子表达式"及"图2.5.5 valueDef和valueUse".为阅读方便,我们再次给出这两张图,更详细的说明请参见第2.5节.对于图2.5.4第2行的a+b,我们会由第7行的中间代码来对a+b进行求值,其结果存于临时变量t1中,之后在第3行中再次遇到表达式a+b时,a和b的值并没有发生变化,我们可在第9行直接把t1赋给变量d.由于我

计算机程序的思维逻辑 (90) - 正则表达式 (下 - 剖析常见表达式)

?88节介绍了正则表达式的语法,上节介绍了正则表达式相关的Java API,本节来讨论和分析一些常用的正则表达式,具体包括: 邮编 电话号码,包括手机号码和固定电话号码 日期和时间 身份证 IP地址 URL Email地址 中文字符 对于同一个目的,正则表达式往往有多种写法,大多没有唯一正确的写法,本节的写法主要是示例.此外,写一个正则表达式,匹配希望匹配的内容往往比较容易,但让它不匹配不希望匹配的内容,则往往比较困难,也就是说,保证精确性经常是很难的,不过,很多时候,我们也没有必要写完全精确的

“正则表达式”应当称为“规则表达式”

看看它的英文:Regular expression 再看看regular:adj. 定期的:有规律的:合格的:整齐的:普通的 意思是根据某些字符串的规律设定其表达式. 再看看“正则”:一,正规:常规.二,犹正宗.<现代汉语大词典> 茅盾<追求>:“一个月前,我还想到五年六年甚至十年以后的我,还有一般人所谓想好好活下去的正则的思想.” 郑振铎<插图本中国文学史>:“差不多要在元末明初的时候,我们才见到正则的南曲作家的出现.” 主要的意思是:正规,正宗. 在汉语中,正规和规

正则表达式--检验字符的表达式

1 汉字:^[\u4e00-\u9fa5]{0,}$ 2 英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$ 3 长度为3-20的所有字符:^.{3,20}$ 4 由26个英文字母组成的字符串:^[A-Za-z]+$ 5 由26个大写英文字母组成的字符串:^[A-Z]+$ 6 由26个小写英文字母组成的字符串:^[a-z]+$ 7 由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$ 8 由数字.26个英文字母或者下划线组成的字符串:^\w+$ 或

正则表达式--检验数字的表达式

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 有两位小数的正实数:^[0-9]+(.[0-9]{2}

javascript的正则表达式学习

关于反向引用 复制代码 代码如下: // 测试函数 function matchReg(reg, str) { var result = str.match(reg); if(result) { console.dir(result); } else { console.log('match failed'); } } var reg = /([A-Za-z]{0,6})\1/; var str = 'AndrewAndrew'; // 测试通过 matchReg(reg, str); //通过