有关 TRegexp 正则的问题

ww425 2009-09-29 01:17:46
首先,祝大家节日快乐!

我的问题如下,

文档为:
<data><stu>stu_21_74_b_100_ 小李</stu></data>
<data><stu>stu_31_50_b_87_ 小王</stu></data>
<data><stu>stu_1_0_g_95_ 小赵</stu></data>
<data><stu>stu_51_20_g_66_ 小强</stu></data>
........
此文档中如“stu_21_74_b_100_ 小李 ” 记录着学生信息。其中b表示男生,g为女生。

现在用户输入 “小李”,“b”,两个信息,如何能找出“stu_21_74_b_100_ 小李”这一条记录?
我想用此方法找出位置,在剪切实现,但是对于正则理解不够,请大家帮我写一下正则,谢谢
unsigned int l;
TRegexp *r=new TRegexp("") <-----此处?
int s1=r->find(result.c_str(),&l,0); //result为存放文档字符串
String ver=result.SubString(s1,l);
delete r;
...全文
94 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
柯本 2009-09-29
  • 打赏
  • 举报
回复
String x="小李";
String y="b"; //输入

String rs="stu_[0-9_]+"+y+"[0-9_ ]+"+x;
TRegexp *r=new TRegexp(rs.c_str());
unsigned l;
int p=r->find(result.c_str(),&l,0);
String ver=result.SubString(p+1,l);
ShowMessage(ver);
delete r;
----------------------------------
BCB6 的TRegexp功能非常有限,最好是用boost库(2009以上就有了)

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧