Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 通用正则表达式umlaut解决方案?_C++_Regex_Qt - Fatal编程技术网

C++ 通用正则表达式umlaut解决方案?

C++ 通用正则表达式umlaut解决方案?,c++,regex,qt,C++,Regex,Qt,是否有一个通用(非)单词regex覆盖了这个地球上所有字符的突变?我正在开发一个可以处理所有语言的应用程序。 从技术上讲,我想用词来划分句子。按非单词字符拆分它们(\W)也按“ä”拆分。A不是一个选项,因为它明确地涵盖了这个世界上的所有突变(ççḮ(还有数千人)是不可能的 我不能给你一些适用于所有语言的东西,因为我不知道足够的语言来判断是否会有边缘案例 我的建议是: 按空格分割(\s+) 从步骤1中得到的每个“单词”的开始/结束处修剪标点字符(将^\p{p}+|\p{p}+$替换为零-据说它完全

是否有一个通用(非)单词regex覆盖了这个地球上所有字符的突变?我正在开发一个可以处理所有语言的应用程序。
从技术上讲,我想用词来划分句子。按非单词字符拆分它们(\W)也按“ä”拆分。A不是一个选项,因为它明确地涵盖了这个世界上的所有突变(ççḮ(还有数千人)是不可能的

我不能给你一些适用于所有语言的东西,因为我不知道足够的语言来判断是否会有边缘案例

我的建议是:

  • 按空格分割(
    \s+
  • 从步骤1中得到的每个“单词”的开始/结束处修剪标点字符(将
    ^\p{p}+|\p{p}+$
    替换为零-据说它完全支持Unicode,所以希望这能起作用)

  • 除非您关心在示例中保留标点符号,如
    这是Charles的车
    ,否则在
    这是
    塞纳河沿岸的马赛

    这样的单词中不删除标点符号,这应该会有很大的帮助?使用XRegExp
    [^\pL]
    \pL
    。为什么不按
    \s
    拆分?你能提供输入和期望的输出吗?那么你想把
    它的
    分为
    s
    ?将空格和非连接标点分开难道没有意义吗?无论如何,您肯定需要告诉我们您使用的是哪个正则表达式引擎。不,这是一个C++/Qt应用程序。我想索引单词。因此,由于标点符号的存在,按空格分割也不是最优的。但是一组静态的分离器确实是一种更好的方法。这几乎解决了我的问题,谢谢,但不是问题所在。你是指“umlaut”(特别是德语字符ä、ö和ü中的标记)还是任何重音(如̂、̂等)或任何重音字符(Ö、ê、ñ等)?