为什么Notepad ++中的[[:alpha:]]也匹配中文单词?

use*_*964 17 regex notepad++

为什么正则表达式[[:alpha:]]也匹配Notepad ++中的中文单词?例如,中文

根据Notepad ++的文档

alpha:ASCII字母

中文单词不是ASCII字母,为什么正则表达式与它们相匹配?

小智 18

[:alpha:]类通常匹配字母.这将远远超过ASCII字母,具体取决于您使用的编码.

虽然Notepad ++文档确实声明了"ASCII字母",但它也表明正则表达式是使用Boost C++ Regex库实现的.文档确认[:alpha:] 该库具有标准,更广泛的含义.

这似乎只是Notepad ++文档中的一个错误.

如果你需要匹配ASCII字母,我会用一些东西[a-zA-Z]作为起点.

  • 仅仅因为它不是*你的*字母,并不意味着它不是字母表的一部分! (16认同)
  • @Troyseph虽然我同意你的观点,但从技术上讲,中文没有字母表; 它是一个带有确定性的语音元素补充列表的语标书写系统.= P (3认同)
  • @ user15964,是的,但其他人的要求呢?:) (2认同)