首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用Boost::regex获取空间

利用Boost::regex获取空间
EN

Stack Overflow用户
提问于 2009-10-12 10:13:28
回答 1查看 992关注 0票数 0

我有一大块文字,比如:

Name=Long John Silver;Profession=cook;Hobby=Piracy

使用Boost::regex库,我尝试获取每个属性的值,因此我有以下正则表达式表示名称:

代码语言:javascript
复制
regex(".*Name=([^;$]*).*")

我把它理解为“在Name=之后得到所有东西,直到找到一个;或行尾”。然而,我使用regex_match获得的只是“长”,没有空格。当然,我已经尝试了几个RE组合,但我无法解决它。

有线索吗?干杯。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-10-12 10:45:49

不,在字符类(方括号)中,$没有特殊的含义。它只是与文字'$'匹配。

试试这个正则表达式:

代码语言:javascript
复制
Name=([^\s;]*)

字符类[^\s;]匹配除空白字符和分号以外的任何字符。这个名称现在被捕获在第一个匹配组中。

编辑:

如果要匹配整个名称“长约翰·西尔弗”,请使用以下正则表达式:

代码语言:javascript
复制
Name=([^;]*)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1553755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档