【问题标题】:Regex escape in C++C++ 中的正则表达式转义
【发布时间】:2015-07-23 17:59:43
【问题描述】:

如何对动态输入的字符串进行正则表达式转义。 我想用实际的正则表达式代码包围它,然后进行匹配,但我需要将输入中的所有正则表达式特殊字符转义。

【问题讨论】:

  • @The Paramagnetic Croissant 为什么不呢?其他语言有它,它可以简化我的代码。
  • 如果你转义了所有的正则表达式元字符,那么你真正做的是纯字符串匹配,你根本不需要使用正则表达式。
  • 正如我所说,我想用实际的未转义正则表达式代码包围它。
  • 这里是almost what you need
  • Boost.Regex 支持通过\Q...\E 进行PCRE 转义。

标签: regex c++11


【解决方案1】:

您可以使用原始string literal

string LitString = R"(^(?:[1-9]\d*?|0)?(?:\.(?:\d*?[1-9]|0))?(?<=[\d])$)";

【讨论】:

    猜你喜欢
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多