C++11中正則表達式測试

VC++2010已经支持regex了, 能够用来编译下述代码.

#include <string>
#include <regex>
#include <iostream>
using namespace std;

/* 測试C++11中的正則表達式. */
int main()
{
    //定义正則表達式,匹配时间格式
    regex testRegex("[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}"); 

    //要匹配的字符串
    string strText("OTA LOG SFTCH/MPA Stream 2/Reservation Accept  07:23:50.580 Channel: 147, Pilot PN: 232"); 

    cmatch result; //结果

    //search 是匹配子字符串, match 是匹配整个字符串
    if (regex_search(strText.c_str(), result, testRegex, regex_constants::format_default))
    {
        cout << result.str() << endl;
    }
    else
    {
        cout << "fail." << endl;
    }
}
时间: 2024-12-27 13:27:57

C++11中正則表達式測试的相关文章

JavaScript正則表達式知识汇总

Js 正則表達式知识汇总 正則表達式: 1.什么是RegExp?RegExp是正則表達式的缩写.RegExp 对象用于规定在文本中检索的内容. 2.定义RegExp:var +变量名=new RegExp(); 3.RegExp 对象有 3 个方法: 1)test()检索字符串中的指定值,返回值是true或false. var p1=new Reg("e"); document.write(Reg.test("welcome to China!")); 2)exec

iOS正則表達式(一)

什么是正則表達式? 正則表達式是对字符串操作的一种逻辑公式. 作用? 在iOS开发中我们通常使用正則表達式来匹配给定的字符串是否符合我们的业务逻辑,比方说用户注冊帐号仅仅能是手机号或者邮箱等.我们还能够使用正則表達式来从一段字符串其中截取我们须要的字符串,比方说网页源代码中我们须要截取某些个图片地址等.总得来说.在iOS开发中正則表達式的作用有两点: 1. 检測给定的字符串是否符合业务逻辑 2. 从目标字符串中获取我们想要的特定字符串 怎样在OC中使用正則表達式? 1.利用NSPredicate

正則表達式及应用

一. 正則表達式 (一).概念: ????????正則表達式(regular expression)就是由普通字符(比如a到z)以及特殊字符(称为元字符)组成的一种字符串匹配的模式,能够用来检查一个串是否含有某种子串.将匹配的子串做替换或者从某个串中取出符合某个条件的子串等. (二).正則表達式中主要元字符:[当中经常使用的元字符用红色标出,红色的元字符必须掌握.难点用蓝色标出,难点在一般的应用中并不经常使用] \ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个 向后引用.或一个八进制转

vim中使用正則表達式

一.使用正則表達式的命令 使用正則表達式的命令最常见的就是 / (搜索)命令. 其格式例如以下: /正則表達式 还有一个非常实用的命令就是 :s(替换)命令,将第一个//之间的正則表達式替换成第二个//之间的字符串. :s/正則表達式/替换字符串/选项 在学习正則表達式时能够利用 / 命令来练习. 二.元字符 元字符是具有特殊意义的字符.使用元字符能够表达随意字符.行首.行 尾.某几个字符等意义. 元字符一览 元字符 说明 . 匹配随意一个字符 [abc] 匹配方括号里的随意一个字符. 能够使用

javascript中的正則表達式

对文本数据进行操作是JavaScript中常见的任务.正則表達式通过同意程序猿指定字符串匹配的模式来简化诸如验证表单中输入是否具有正确格式之类的任务. 1.正則表達式标记: 字符 含义 举例 i 大写和小写不敏感 对于模式/http/i  "http" 和"HttP" 一样能够匹配 g 全局匹配.找出所有匹配字符串,而不不过找到第一个就返回. 经常使用于替换 m 多行匹配 2.正則表達式位置指示符:规定模式在它所匹配的字符串里的位置. 字符 含义 举例 ^ 开头 对

C++ Tr1中的正則表達式

要使用正則表達式,首先要有类库支持,C++曾经不像Java或者C#有完整的类库使用,可是在Tr1中早已提供了正则库,仅仅是非常少被人们注意罢了 TR1中包括了一个正则库,来自Boost的 regex,已经纳入了0x新标准,可是新标准遥遥无期.即便如此,如今非常多编译器也已经支持了,特别是微软,步伐最快! 尽管如今新标准还未全然支持,可是早点了解一下也是好的: #include <iostream> #include <regex> int _tmain(int argc, _TCH

PHP第九课 正則表達式在PHP中的使用

今天内容 1.正則表達式 2.数学函数 3.日期函数 4.错误处理 正則表達式: 1.模式修正符 2.五个经常使用函数 另外一个正則表達式的站点:http://www.jb51.net/tools/zhengze.html 正則表達式 1.原子 2.元子符 3.模式修正符 正則表達式函数 1.preg_match(); 2.preg_match_all(); 3.preg_grep(); 4.preg_replace(); 5.preg_split(); 原子: .:代表随意一个字符 \w: 字

backreference Oracle正則表達式中的反向引用

这是Oracle对正則表達式的backreference的描写叙述 从定义中能够看到,当匹配表达式中已()的形式将一个子串包括起来.后面就能够以\? 的形式来引用.\1相应第一个(),\2相应第二个... 反向引用的引入使得正則表達式的匹配功能变得更加强大,介绍两个在oracle正则函数中的应用 regexp_like regexp_like('1211233','^([0-9])(\d)\1\1\2(\d)\3$') 上面这个样例中,匹配表达式里,\1表示第一个([0-9]).这个表达式要推断

js正則表達式语法

1. 正則表達式规则 1.1 普通字符 字母.数字.汉字.下划线.以及后边章节中没有特殊定义的标点符号,都是"普通字符".表达式中的普通字符,在匹配一个字符串的时候,匹配与之同样的一个字符. 举例1:表达式 "c",在匹配字符串 "abcde" 时,匹配结果是:成功:匹配到的内容是:"c":匹配到的位置是:開始于2,结束于3.(注:下标从0開始还是从1開始,因当前编程语言的不同而可能不同) 举例2:表达式 "bcd&