在lua中匹配多语言(拉丁扩展)字符

问题描述 投票:0回答:1

如果不明确这样做,我无法找到匹配所有扩展字母字符的方法。例如,匹配标签

språk

tag = "språk"
tag:match([[%w+]])

这不起作用,因为

å
不包含在
%w
中。这可以与
tag:match([[[%wå]+]])
匹配,但随后您必须显式添加所有特殊内容。

还可以扩大范围。这有效

tag:match([[[a-å]+]])
,但我不是 100% 清楚为什么,或者至少不知道该范围在字符表中实际覆盖的位置。

那么匹配包含所有 ASCII 和所有拉丁扩展的范围的正确方法是什么?


到目前为止我想出的最好的解决方案是:

tag = "språk"
tag:match([[[a-zA-ZÀ-ÿ]+]])

但我仍然不确定这是否完全正确,如果有一个我只是忽略的快捷方式类,那就太理想了。

lua character-encoding pattern-matching
1个回答
0
投票

制作自己的匹配函数,但是:

取出字符串并将所有奇数字母替换为 å 至 a。比匹配这个新字符串,而不是旧字符串。

© www.soinside.com 2019 - 2024. All rights reserved.