使用子表达式

子表达式是一个更大的表达式的一部分,把一个表达式划分为一系列表达式的目的是为了把那些表达式当作一个独立元素来使用。子表达式必须用(和)括起来。

注意:(和)是元字符,如果需要匹配(和)本身,就必须使用它的转义序列\(和\)  。子表达式是可以提高可读性,对表达式的实际行为也没有任何不良影响,但对匹配操作的速度可能会有点儿影响。

hello,my name is Ben Forta,and I am the author of books on SQL ,ColdFusion,WAP,Windows  2000,and other subjects.

正则表达式  {2,}
匹配结果  无
 {2,}本意是希望它能匹配 连续两次或更多次。因为{2,}紧跟着它的前一个字符,那就是也分号。要想匹配  ,则要把 当作一个表达式。
hello,my name is Ben Forta,and I am the author of books on SQL ,ColdFusion,WAP,Windows  2000,and other subjects.
正则表达式  ( ){2,}
匹配结果    
( )就是一个子表达式。( ){2,}实现匹配  
pinging hog.forta.com [12.159.46.200] with 32 bytes of data;

正则表达式  \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
匹配结果    12.159.46.200

正则表达式  (\d{1,3}\.){3}\d{1,3}
匹配结果    12.159.46.200

(和)把表达式\d{1,3}\.括起来使它成为了一个子表达式,再用(\d{1,3}\.){3}把这个子表达式重复3次

1967-08-10

正则表达式 19|20\d{2}

匹配结果 19

这个模式里|字符是正则表达式语言里的或操作符。19|20将匹配19或20

19|20\d{2}应该匹配以19或20开头的4位数字,可是这个模式的匹配结果与我们预期的并不相符。因为它会把模式19|20\d{2}解析成19或20\d{2}

1967-08-10

正则表达式  (19|20)\d{2}
匹配结果     1967
(19|20)就是一个子表达式,意思:以19或20开头的一个4位数字
时间: 2024-10-08 15:19:01

使用子表达式的相关文章

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.由于我

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.

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

子表达式 子表达式是一个更大的表达式的一部分,把一个表达式划分成一系列表达式的目的是为了把那些表达式当作一个独立元素使用. 子表达式通过()括起来 注意:()为元字符,如果要匹配这两个字符,需要使用转义\(  \) 举例: apple{2}:本意是想匹配apple连续两次,但是{2}紧跟着它的前一个字符,即匹配applee 若想匹配appleapple,则要把apple当作一个表达式,(apple)就是一个子表达式 总结: 子表达式通过()定义,并用于对表达式进行分组 子表达式的一般用法是精确的

《C++primer(第五版)》学习之路-第四章:表达式

[ 声明:版权所有,转载请标明出处,请勿用于商业用途.  联系信箱:[email protected]] 4.1 基础 1.表达式由一个或多个运算对象(operand)组成,对表达式求值将得到一个结果(result).字面值和变量是最简单的表达式(expression),其结果就是字面值和变量的值.把一个运算符(operator)和一个或多个运算对象组合起来可以生成较复杂的表达式. 2.C++定义了一元运算符(unary operator)和二元运算符(binary operator).作用于一

cron表达式的解释

cron表达式是什么 首先cron是表示计划任务.其次Oracle官网这样解释cron表达式: Cron expressions are used to configure instances of CronTrigger, a subclass of org.quartz.Trigger. A cron expression is a string consisting of six or seven subexpressions (fields) that describe individu

Dijkstra的双栈算术表达式求值算法 C++实现

1 #include<iostream> 2 #include<string> 3 using namespace std; 4 5 template<typename T> 6 class Stack 7 { 8 private: 9 T stack[100]; 10 int i = 0; 11 public: 12 Stack() = default; 13 14 T pop() 15 { 16 if (i == -1) 17 { 18 cout <<

逆波兰表达式

1696:逆波兰表达式 总时间限制: 1000ms 内存限制: 65536kB 描述 逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3.逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的逆波兰表示法为* + 2 3 4.本题求解逆波兰表达式的值,其中运算符包括+ - * /四个. 输入 输入为一行,其中运算符和运算数之间都用空格分隔,运算数是浮点数. 输出 输出为一行,表达式的值.可直接用prin

JavaScript--正则表达式

1. 正则表达式 是一个描述字符模式的对象. 1.创建方式  1) 正则表达式直接量   var pattern = /s$/;  2) RegExp()构造函数   var pattern = new RegExp("s$"); 2. 直接量字符  正则表达式中所有字母和数字都是按照字面含义进行匹配的.     字符   匹配  -----------------------  字母和数字  自身   \t   制表符   \n   换行符    \v   垂直制表符   \f