C++正则表达式
正则表达式在文本的查找和替换方面十分强大,最近恰巧用到,记录如下。
使用的语言是C++,需要包含regex头文件,下面的代码是对linux系统路径的判别,我们假定路径都是下面这样的:
./abcd
../abcd
/abcd/efg
#include #include #include #include #include using namespace std;#define PATH_PATTERN "(^\\.|\\.\\.|/)[\\w/]+"int main(int argc, char *argv[]){
printf("regex demo!\n"); try {
regex r(PATH_PATTERN); string str("/home/test\n./test\n../test\n 1234abcd\n/1234/abcd\n"); for (sregex_iterator iter(str.begin(), str.end(), r), end_iter; iter != end_it