关于正则表达式(C++)

作者&投稿:徵印 (若有异议请与网页底部的电邮联系)
c#正则表达式~

观察了一下你的字符串,感觉不需要正则表达式也可以达到你的目的。先用Split函数按“,”把s分解为几个字符串赋值到一个字符串数组。然后遍历该字符串数组的每一项,用IndexOf函数判断其中是否存在“:”,若存在则赋值到一个新的字符串数组。这个新的字符串就是你要的结果。

C语言中巧用正则表达式
http://www.builder.com.cn/2007/0915/507938.shtml

#include <stdio.h>
#include <assert.h>
#include <string.h>

//<a href="http:// "

int ExtractHttp(char* pHttp, const char* psz_)
{
assert(pHttp && psz_);

int nNumb = 0;
int nFrom = 0, nTo = 0;
const char* psz = psz_;
while( *psz )
{
if( '"' == *psz )
{
if( 0 == nNumb ) // the 1st "
{
nNumb++;
nFrom = psz - psz_;
}
else
{
nNumb++; // the 2nd
nTo = psz - psz_;
break;
}
}

psz++;
}

if( nNumb != 2 ) return 0;

int nCount = nTo - nFrom - 1;
memcpy(pHttp, psz_ + nFrom + 1, nCount);
pHttp[nCount] = '\0';

return nCount;
}

int main()
{
char sz1v[200];
char* psz = "<sdfsdasa, \"http://23423243fsafddsaf大约\"";
ExtractHttp(sz1v, psz);
printf("%s\n", sz1v);

return 0;
}

/^(?:(http(s)?|ftp):\/\/)?([a-zA-Z0-9\-]{1,}\.[a-zA-Z0-9\-]{1,})+(\/)?(.*)/

<a style="color:red;" href="http://" <pre>向楼上学习!
<a style="color:blue;" href="http://" <pre>向楼上学习!

<a style="float:left;width:100%;height:100%;color:red" href="http://">


正则表达式中【】、()、{}号的区别
方括号[]:这是一对单个匹配的标志,例如 '[abc]',它限制的是单个字符,要求只能是a、b或c中的任何一个。这种形式在寻找特定字符时显得尤为重要,它能确保我们找到的是预设的一系列选项之一。在常用的正则表达式中,方括号[]更是不可或缺,例如 '[a-zA-Z0-9]',它能匹配所有英文字母和数字,...

用C语言完成一个正则表达式的匹配: 字符串中只有*和?是可变字符且位置和...
include<stdio.h> include<string.h> include <stdlib.h> \/\/1、'?'很好处理,只要在原有的定位函数中加一点点就行:int index(char *s,char *t,int pos){ int i=pos,j=0,lens=strlen(s),lent=strlen(t);while(i<lens&&j<lent){ if(s[i]==t[j]||t[j]=='?'){ ++i;++j...

正则表达式是什么?有什么用?
详情请查看视频回答

正则表达式
\\d 匹配一个数字字符。等价于 [0-9]。\\D 匹配一个非数字字符。等价于 [^0-9]。\\f 匹配一个换页符。等价于 \\x0c 和 \\cL。\\n 匹配一个换行符。等价于 \\x0a 和 \\cJ。\\r 匹配一个回车符。等价于 \\x0d 和 \\cM。\\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价...

c语言URL正则表达式问题
正则表达式要写成字符串,需要先进行转义。例如 char[] c = "\\n";\\n不是表示\\n,而是表示换行。要表示\\n需要写成\\\\n 同理 "https?:\/\/[\\d\\-a-zA-Z]+(\\.[\\d\\-a-zA-Z]+)*\/?"应该写成 "https?:\/\/[\\\\d\\\\-a-zA-Z]+(\\\\.[\\\\d\\\\-a-zA-Z]+)*\/?"

正则表达式(?i)(B)(C)怎么看分组...组一是(?i)还是(B)...那么(?i)这...
表示忽略字母大小写,相当于Pattern.CASE_INSENSITIVE,正则表达式(?i)(B)(C)中第一分组仍然是(B),第二分组是(C)此外,还有(?x)相当于Pattern.COMMENTS (?s)相当于Pattern.DOTALL (?m)相当于Pattern.MULTILINE (?u)相当于Pattern.UNICODE_CASE (?d)相当于Pattern.UNIX_LINES ...

c# 怎么用正则表达式匹配ASCII码除空格外的可见字符33-126,高分悬赏20...
Csharp正则表达式 ^[!-~]{8,32} 按照你的要求编写的完整的Csharp程序如下 using System;using System.Text.RegularExpressions;namespace MatchApplication{ class MatchClass{ static void Main(string[] args){ string s="abc123ABC";Boolean result =Regex.IsMatch(s, @"^[!-~]{8,32}$");if...

C语言正则表达式匹配非负整数,为什么不能匹配成功,用的regexec
代码的逻辑无错,& reg被百度错转义成®include <stdio.h> include <regex.h> include <sys\/types.h> \/* 主程序 *\/ int main(int argc, char** argv){ int status,i = 100;int cflags = REG_EXTENDED;regmatch_t pmatch[1];const size_t nmatch = 1;regex_t reg;const char ...

正则表达式语法
\\w 匹配包括下划线的任何单词字符。等价于 '[A-Za-z0-9_]'。\\W 匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。\\xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,'\\x41' 匹配 "A"。'\\x041' 则等价于 '\\x04' & "1"。正则表达式中可以使用 ...

c 语言 正则表达式regcomp() regexec()问题
标准C没有正则,不太了解函数。通过PHP的经验,基本可以确定LZ没有循环正则匹配。while(bStatus){ bStatus = regexec(®,c,nm,pm,0);\/\/把匹配到的数据导入缓冲区 }

莲花县15957026657: C++中正则表达式怎么用 -
尤褚水乐: 正则表达式(regular expression)是计算机科学中的一个概念,又称规则表达式,通常简写为regex、regexp、RE、regexps、regexes、regexen.正则表达式是一种文本模式.正则表达式是强大、便捷、高效的文本处理工具.正则表达式本身...

莲花县15957026657: 关于正则表达式(C++) -
尤褚水乐: #include <stdio.h>#include <assert.h>#include <string.h>//<a href="http:// "int ExtractHttp(char* pHttp, const char* psz_){ assert(pHttp && psz_); int nNumb = 0; int nFrom = 0, nTo = 0; const char* psz = psz_; while( *psz ) { if( '"' == *psz ) { if( 0 == ...

莲花县15957026657: C++ 怎样用正则表达,, -
尤褚水乐: 借用c的正则表达式库,需要引入头文件<regex.h>.支持POSIX.2正则表达式标准.简单用法如:regex_t reg; //先声明一个正则表达式体.regcomp(®, "[a-zA-Z]*", 0); //从字符串来编译这个表达式.regmatch_t match[2]; //用来保存匹配结果.regexec(®, "abcedfg", 2, match, 0); //匹配字符串.此外,c++中也有自己的正则表达式库,比如boost::regex.需要先安装boost库才能使用.

莲花县15957026657: c++高手来啊,关于:正则表达式(匹配字符串)的 -
尤褚水乐: char* http_cut_fun(char*cst1,char*cst2 ,char*cst3 ) {CString sting =""; if (cst1.strgetlength() <0 ||cst2.strlgetength() <0 ||cst3.strgetlength() <0 ) return NULL; if( (!st1.find (st1,st2) ||(!st1.find (st1,st3) ) return NULL; int i = st1.find (st1,st2) + st2....

莲花县15957026657: 什么是正则表达式?
尤褚水乐: 正则表达式是查找和替换文本模式的简洁和灵活的表示法.VisualStudio中使用的正则表达式是VisualC++6.0中使用的、具有简化语法的表达式的超集.在“查找”、“在...

莲花县15957026657: C++使用正则表达式需要自己编写还是调用某个库,如果是调用一个库求详解,最好附图! -
尤褚水乐: 借用c的正则表达式库,需要引入头文件.支持POSIX.2正则表达式标准.简单用法如: regex_t reg; //先声明一个正则表达式体. regcomp(®, "[a-zA-Z]*", 0); //从字符串来编译这个表达式. regmatch_t match[2]; //用来保存匹配结果.

莲花县15957026657: 如何在C语言中使用正则表达式 -
尤褚水乐: 看到大家讨论这方面的东西,作点贡献聊表各位高手对这个版快的无私奉献 :oops: 如果用户熟悉Linux下的sed、awk、grep或vi,那么对正则表达式这一概念肯定不会陌生.由于它可以极大地简化处理字符串时的复杂 度,因此现在已经在许...

莲花县15957026657: 在C++里面这个正则表达式要怎么写?用正则表达式^\d*\+\d*j$匹配形如123+456j的复数字符串 -
尤褚水乐: ^是界定符,表示匹配字符串的开始;[+-],中括号表示其内的内容都是符合要求的匹配,所以这个表示“+”或者"-";\d,[0-9]的简写形式,也就是匹配数字;$也是界定符,表示匹配字符串的结束;了解以上之后再来看问号(?)和星号(*)...

莲花县15957026657: 正则表达式 c++ -
尤褚水乐: 正则本身,可以写成:"answer":\d+ 就可以了.带group的话,可以获得对应的值:"answer":(\d+) 更多内容,感兴趣的去看:crifan 正则表达式学习心得(此处不给贴地址,请自己用Google搜标题,即可找到帖子地址)

莲花县15957026657: 关于c++里的正则表达式,请问如何逐行读取文件的内容,并识别某种格式再进行相应处理. 比方说在一 -
尤褚水乐: void Load(string str) { ifstream in(str); ofstream out1("file1.txt"); ofstream out2("file2.txt"); int i = 0; string s; string a[6]={"你", "我", "他", "它", "是", "的"}; while(getline(in,s))/*逐行读取,内容如如 "2011.8.15 565 533 ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网