通用符号'\ pS'未使用std :: wregex'匹配'

FFMG

我正在使用下面的代码尝试使用正则表达式来匹配符号(例如,我正在尝试匹配圆形星形符号http://graphemica.com/%E2%9C%AA

#include <regex>
#include <iostream>

int main() {
  std::wsmatch matches;
  std::wstring x = L"✪";
  //  std::wregex e(L"(\\pS)+");
  std::wregex e(L"([[:S:]]+)");
  if (std::regex_match(x, matches, e))
  {
    // never reached
    std::cout << "Never reached";
  } 

  std::cout << "Bye.";

  return 0;
}

符号✪(0x272A)不匹配,我也尝试了其他符号,但它们都不起作用(例如©)。

我想[:S:]\pS\p{S},他们没有工作,(最后一个抛出异常)

这是与boost库类似的(但不是相同的名称空间)问题,(常见的符号'\ p {S}'未使用boost wregex'匹配'

火热

既不是ECMAScript第3版。POSIX regex语法也不支持Unicode类别字符类。您可以使用\u\U基于字符的范围来自己创建它们,但是希望这样的事情\p{So}在当前的规范中是一个失败的原因。

正如我在另一个问题回答的那样,如果您真的想使用它们,Boost.Regex通过boost::u32regex启用了ICU支持if build支持它们(PCRE / PCRE2也支持它们,但是与大多数C库一样,我不建议将它们用于新的C ++代码。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用自己的符号作为ggplot点,更改图例符号以匹配

来自分类Dev

用python重新匹配€符号

来自分类Dev

符号的elisp模式匹配

来自分类Dev

htaccess匹配和符号

来自分类Dev

Scala通用类型匹配

来自分类Dev

Clang 3.5.0 std :: wregex编译错误

来自分类Dev

使用Google Maps API旋转SVG符号以匹配飞机航向

来自分类Dev

通用符号'\ p {S}'未使用boost wregex'匹配'

来自分类Dev

使用LPeg匹配Unicode标点符号

来自分类Dev

通用嵌套选项模式匹配

来自分类Dev

Scala如何在非通用LazyList中使用模式匹配?

来自分类Dev

`std :: wregex`是否支持utf-16 / unicode或仅支持UCS-2?

来自分类Dev

使用符号正确匹配Awk中的列?

来自分类Dev

numpy数组符号匹配

来自分类Dev

如何在C ++ 11中使用wregex?

来自分类Dev

使用wregex创建垃圾输出?

来自分类Dev

Ubuntu VM上的$ PS1与实际提示不匹配

来自分类Dev

使用自己的符号作为ggplot点,更改图例符号以匹配

来自分类Dev

htaccess匹配和符号

来自分类Dev

符号的elisp模式匹配

来自分类Dev

Scala通用类型匹配

来自分类Dev

Clang 3.5.0 std :: wregex编译错误

来自分类Dev

如何使用“ ps”过滤进程以匹配所有条件?

来自分类Dev

ps仅显示匹配多个条件(AND)的进程

来自分类Dev

使用PS和TTY

来自分类Dev

Scala模式匹配_符号

来自分类Dev

使用哪个ps ef或ps -ef?

来自分类Dev

通用符号'\ pS'未使用std :: wregex'匹配'

来自分类Dev

使用 CIDR 符号和注释将 ip 与列表匹配