首页
社区
课程
招聘
[求助]如何使用正则表达式匹配字符串?
发表于: 2014-10-20 17:28 3704

[求助]如何使用正则表达式匹配字符串?

bxc 活跃值
6
2014-10-20 17:28
3704
我的一个项目里,打算把所有采用_T("***")宏的字符串替换成宽字符串L"***"。
不知道如何使用正则匹配,求指教~

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 2
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
2
2014-10-20 17:42
0
雪    币: 7048
活跃值: (3527)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
3
谢谢~但是发现你的表达式匹配不了。
我改成_T\((".*")\)能匹配了。但是L"\1"却替换的不正确
发现vs的替换框里的文本好像不会使用正则?
2014-10-20 17:52
0
雪    币: 7048
活跃值: (3527)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
4
已解决,需要改成L$1
2014-10-20 18:06
0
雪    币: 101
活跃值: (43)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
_T\(".*"\)
就能查找到吧
2014-10-21 09:41
0
雪    币: 2
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
6
[QUOTE=逍遥冷月;1325045]
_T\(".*"\)
就能查找到吧[/QUOTE]

这个能匹配到, 但是后面替换的正则就没法写了, 这个应该是哪个版本vs都不行的. 因为要保持 " " 之间的内容不变, vc6 是使用 \(\) 这对转义的括号来标记一个子串, 这样用 \1 引用.
2014-10-21 09:53
0
雪    币: 101
活跃值: (43)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
看上去已经解决了……  刚才忘了替换的问题了  解决这个问题也可以这样,这样使用了命名的组号,比较直观一点
_T\("(?<a>.*)"\)

替换为
L"${a}"
2014-10-21 11:53
0
游客
登录 | 注册 方可回帖
返回
//