【发布时间】:2011-11-25 17:13:25
【问题描述】:
我遇到了这个在 JavaScript 中检测 Unicode 字符的字符串文字的正则表达式。
'"'("\\x"[a-fA-F0-9]{2}|"\\u"[a-fA-F0-9]{4}|"\\"[^xu]|[^"\n\\])*'"'
但我无法理解的角色和需求
"\\x"[a-fA-F0-9]{2}"\\"[^xu]|[^"\n\\]
我对 1) 的猜测是它正在检测控制字符。
【问题讨论】:
-
嗨 Rohit,欢迎来到 StackOverflow!我认为您需要编辑您的问题并完全按照原来的方式重新粘贴您的正则表达式,然后使用
{}(代码)按钮将其格式化为代码。如果您尝试通过自己插入反斜杠来猜测降价解析器,那么我们很难为您提供帮助。您的正则表达式中的所有这些引号也看起来有问题。不幸的是,这个问题在目前的状态下几乎无法回答。您可能还想阅读本页右上角的常见问题解答。这可能有助于您入门。 -
@TimPietzcker 感谢您的建议,我已经编辑了原始问题。我单独理解它们,但结合起来,它们让我感到困惑。
-
所有这些引号字符真的存在于原始正则表达式中吗?我非常怀疑。
-
@TimPietzcker 我在词法分析器的 lex 文件中看到了这一点。用于 javascript 解析器 jison
-
这可以解释额外的引号。这也意味着这不是一个真正的正则表达式,但对于我们的目的来说已经足够接近了。
标签: javascript regex unicode