RegEx是否匹配可打印的ASCII符号?

时间:2018-01-27 22:41:54

标签: javascript node.js regex ascii

我正在查看http://asciitable.com

我试图匹配所有可打印的符号,因此范围将是以下(十进制):

33-47
58-64
91-96
123-126

到目前为止,我见过的最好的事情就像..

([!\"#$%&'()*+,\-.\/:;<=>?@[\\\]\^_`{\|}~"])+

肯定有更好的方法吗?

在我的应用程序中,正则表达式对于用户来说是部分可见的,所以我更喜欢眼睛上更容易的东西(更少的反斜杠以及一般的角色)。

编辑:符号是指33到127之间的所有内容,但不包括字母和数字。

2 个答案:

答案 0 :(得分:2)

以下字符类应该可以正常工作:

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

它由4个​​提到的范围组成,其中/[需要转义。

答案 1 :(得分:2)

你当前的正则表达式非常好,没有更好的方法但是如果你正在寻找一个更短的那个你可能会带来这个:

(?=[!-~])[\W_]