【发布时间】:2021-06-01 12:55:53
【问题描述】:
在某些形式的正则表达式中,在方括号表达式中,= 符号是一个特殊字符,用作将任何一个等价类中的元素括起来的分隔符。 The documentation 说:
等价类表达式应表示属于等价类的整理元素集,如整理顺序中所述。仅应识别初级等价类。该类应通过将等价类中的任何一个整理元素括在括号相等(“[=”和“=]”)分隔符中来表示。例如,如果 'a'、'à' 和 'â' 属于同一个等价类,则 "[[=a=]b]"、"[[=à=]b]" 和 "[[ =â=]b]" 都等价于 "[aàâb]"。如果整理元素不属于等价类,则等价类表达式应视为整理符号。
我不太确定这意味着什么。如果a、à 和â 属于同一个等价类,这是否意味着我们希望指定正则表达式"[ab]"、"[àb]" 和"[âb]" 是等价的?那么使用[==]分隔符的目的是什么,既然我们还不如写"[aàâb]"呢?
我理解“等价类”在其一般定义中的含义,但我无法理解它在这种情况下的含义。
【问题讨论】:
标签: regex locale equivalence-classes