| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 716 人关注过本帖
标题:求助:正则表达式基本用法
取消只看楼主 加入收藏
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:406
专家分:190
注 册:2021-4-9
结帖率:97.26%
收藏
已结贴  问题点数:20 回复次数:4 
求助:正则表达式基本用法
求助:正则表达式基本用法

要求效果,如果路径字符串结未尾是'\\',就去除结未尾的'\\'
程序代码:
#include<iostream>
#include<regex>
using namespace std;

int main()
{
    string str1 = "C:\\Users\\Administrator\\Desktop\\JJDown\\Download";
    string str2 = "C:\\Users\\Administrator\\Desktop\\JJDown\\Download\\";
    regex re("(.*)\\{2}(.*)");
    cout << regex_replace(str1, re, "$1$2") << endl;
    cout <<  regex_replace(str2, re, "$1$2") << endl;
}


在RegexBuddy中测试"(.*)\\{2}(.*)",没有问题。
在VS2022 VC++中,不知出了什么问题。。。
反复测试过,只要正则表达式有有 '\\' 字符,就会出错。不知道是什么原因。
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: string Users 正则表达式 Desktop 用法 
2022-12-07 14:38
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:406
专家分:190
注 册:2021-4-9
收藏
得分:0 
回复 2楼 rjsp
谢谢,\\\\这个方法,我已经想到,可以去结尾的\\字符。
但是,结尾没有\\字符的,$1和$2之间的\\字符也被错误去除了。。

程序代码:
#include<iostream>
#include<regex>
using namespace std;

int main()
{
    string str1 = "C:\\Users\\Administrator\\Desktop\\JJDown\\Download";
    string str2 = "C:\\Users\\Administrator\\Desktop\\JJDown\\Download\\";
    regex re1(".*(.)");
    regex re2("(.*).");
    if(regex_replace(str1, re1, "$1")== "\\")
        cout << regex_replace(str1, re2, "$1") << endl;
    else
        cout << str1 << endl;

    if (regex_replace(str2, re1, "$1") == "\\")
        cout << regex_replace(str2, re2, "$1") << endl;
    else
        cout << str2 << endl;    
}


图片附件: 游客没有浏览图片的权限,请 登录注册
2022-12-08 01:28
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:406
专家分:190
注 册:2021-4-9
收藏
得分:0 
回复 4楼 rjsp
在C++20标准下 string类中才有ends_with()成员函数
C++20 不支持CLI了,鱼和熊掌,只能选一个呀。
2022-12-09 03:14
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:406
专家分:190
注 册:2021-4-9
收藏
得分:0 
回复 6楼 rjsp
对不起,描述有误。
应该说CLI不支持C++20标准,最高支持C++17。
2022-12-09 14:57
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:406
专家分:190
注 册:2021-4-9
收藏
得分:0 
回复 8楼 apull
小黄人,好久不见。你还好吗?

原来,你是来看笑话的呀。。。。
2022-12-10 00:42
快速回复:求助:正则表达式基本用法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033311 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved