4

gnu awk 是否支持POSIX 等价类

是否可以像在 grep 中那样使用 awk 匹配 [[=a=]] 吗?

$ echo ábÅ | grep [[=a=]]
ábÅ

$ echo ábÅ | grep -o [[=a=]]
á
Å
4

2 回答 2

5

这里,接近尾声:

相等字符列表的特定于区域设置的名称。名称包含在 '[=' 和 '=]' 之间。例如,名称“e”可能用于表示所有“e”、“ê”、“è”和“é”。在这种情况下,“[[=e=]]”是一个匹配任何“e”、“ê”、“é”或“è”的正则表达式。

这些功能在非英语地区非常有价值。

注意:gawk 用于正则表达式匹配的库函数目前仅识别 POSIX 字符类;它们不识别整理符号或等价类。

于 2017-03-18T09:16:18.017 回答
5

根据GAWK 用户指南,“警告:gawk 用于正则表达式匹配的库函数目前仅识别 POSIX 字符类;它们不识别整理符号或等价类。”。

/[aáÅ]/因此,您将不得不在正则表达式或您要查找的任何内容中写出允许的等效项。

有语言环境感知的字符范围,但这似乎不是你要问的。

于 2017-03-18T09:17:02.523 回答