什么是“regex”中的“太短的多字节代码字符串”是什么意思?

时间:2015-01-05 13:58:56

标签: regex go sublimetext3

我正在创建一个崇高文本突出显示文件。但是,我遇到了一个我不完全理解的错误。我有以下正则表达式:

\x([0-9]|[A-F]|[a-f])([0-9]|[A-F]|[a-f])

当我尝试在sublime文本中加载文件时,出现错误:

  

正则表达式出错:正则表达式中的多字节代码字符串太短   \×([0-9] | [A-F] | [A-F])([0-9] | [A-F] | [a-f的])

我已经尝试使用谷歌搜索来理解这个错误意味着什么,我唯一遇到的是相关的是以下链接:

0. github issue of the rubinius project

1. stackoverflow thread

2. reddit thread

不幸的是,从这些链接我只能确定该错误可能是由字符编码引起的[来自1& 2]。我现在怀疑" \ x"可能是问题,因为正则表达式中的其他一切都很好。一个人如何逃脱这个角色,尤其是其他所有角色,是否可以使用golang脚本来消除正则表达式以消除这些问题?

1 个答案:

答案 0 :(得分:2)

这意味着您忘记了\中的\x。{ 因此,它试图解析\x1234形式的Unicode字符转义符,并且找不到足够的数字。