为什么[[:-\\]]与`?`匹配? Ruby正则表达式

时间:2019-02-01 19:48:00

标签: ruby regex

https://rubular.com/r/I5qur9Mm1NjWmB

您好,我对与?字符匹配的特定正则表达式感到好奇。

您可以链接一些文档或提供有关为什么匹配的解释吗?

完整正则表达式:

[\ -\/\[-\`\:-\@\{-\~]

缩短到:

[:-\\]

好像是设计成匹配一些特殊字符。我在Google搜索和搜索有关此文档的过程中遇到了一些麻烦。

2 个答案:

答案 0 :(得分:5)

方括号内两个字符之间的连字符指定字符范围。在这种情况下,范围:(ASCII指数58)通过\(ASCII指数92)包括那些两个字符,再加;<,{{1} },=>?@,并且所有大写字母。

完整参考:https://www.ascii.cl/htmlcodes.htm

答案 1 :(得分:2)

缩短的语句匹配从supportTest(58)到;(92)的ascii范围。 \是ascii字符63,因此它在该范围内。在这里查看ascii表:https://www.ascii-code.com