如何在单词边界中识别德语变音符?

时间:2019-07-09 04:06:31

标签: regex word diacritics

在以下示例中可以看到我的问题:https://regex101.com/r/dToBvm/1/

我正在尝试使用此正则表达式\b([äöüÄÖÜß\w]+)\b

捕获所有单词

有趣的是,“säs”将被匹配,但“äss”或“sää”将不匹配。 如果一个单词以变音符号开头或结尾,则该单词将不匹配。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

因为在äsäss之间以及säsää之间的单词边界是匹配的(所以{{ 1}}已定义。)

您需要使用否定性环视来实现所需的功能:

\b

Demo

答案 1 :(得分:0)

我认为您的表达很好,也许我们会稍作修改以:

(?<=^|\s)([\p{L}\p{N}]{3})(?=[\s.,]+|$)

该表达式在this demo的右上角进行了说明,如果您想进一步探索或修改它,在this link中,您可以逐步观察它如何与某些示例输入匹配步骤,如果您愿意的话。