使用正则表达式搜索 C++

发布于 2024-11-02 05:09:26 字数 234 浏览 6 评论 0原文

我正在使用 Boost.Regex 来实现类似的功能:搜索“|”然后取“|”左边的部分并把它放在一个字符串中,与右侧部分相同:

string s1;
string s2;
who | sort

在此之后 s1 应该是“who”,s2 应该是“sort”。
如果我没记错的话,这在Python中是可能的,我怎样才能在Boost中使用正则表达式来做到这一点?

谢谢。

I'm using Boost.Regex to achieve something like this: search for a "|" and then take the left part of the "|" and put it a string, same with the right part:

string s1;
string s2;
who | sort

After this s1 should be "who" and s2 shoudl be "sort".
If I remember good, it was posible in Python, how can I do it using regular expressions in Boost ?

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一城柳絮吹成雪 2024-11-09 05:09:26
#include <boost/algorithm/string.hpp>
std::vector<std::string> strs;
boost::split(strs, "string to split", boost::is_any_of("|"));

在 C++ 中拆分字符串?

#include <boost/algorithm/string.hpp>
std::vector<std::string> strs;
boost::split(strs, "string to split", boost::is_any_of("|"));

Split a string in C++?

归途 2024-11-09 05:09:26

这是简短的示例:

#include <iostream>
#include <boost/regex.hpp>

int main()
{
  // expression
  boost::regex exrp( "(.*)\\|(.*)" );
  boost::match_results<std::string::const_iterator> what;
  // input
  std::wstring input = "who | sort";
  // search
  if( regex_search( input,  what, exrp ) ) {
    // found
    std::string s1( what[1].first, what[1].second );
    std::string s2( what[2].first, what[2].second );
  }

  return 0;
}

此外,您可能想查看 Boost.Tokenizer< /a>.

Here's short sample:

#include <iostream>
#include <boost/regex.hpp>

int main()
{
  // expression
  boost::regex exrp( "(.*)\\|(.*)" );
  boost::match_results<std::string::const_iterator> what;
  // input
  std::wstring input = "who | sort";
  // search
  if( regex_search( input,  what, exrp ) ) {
    // found
    std::string s1( what[1].first, what[1].second );
    std::string s2( what[2].first, what[2].second );
  }

  return 0;
}

Additionally you maybe want to look on Boost.Tokenizer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文