【发布时间】:2018-01-27 22:41:53
【问题描述】:
我正在尝试匹配所有可打印的符号,因此范围如下(十进制):
33-47
58-64
91-96
123-126
到目前为止,我见过的最好的是......
([!\"#$%&'()*+,\-.\/:;<=>?@[\\\]\^_`{\|}~"])+
肯定有更好的方法吗?
在我的应用程序中,正则表达式对用户来说是部分可见的,所以我更喜欢眼睛更容易看到的东西(更少的反斜杠和一般的字符)。
编辑:我所说的符号是指从 33 到 127 范围内的所有内容,但不包括字母和数字。
【问题讨论】:
-
否,但问题措辞不当(按符号,OP 不包括字母和数字)
-
@Aaron:是的,我不太清楚这些是什么我的道歉。
-
通常,可打印的 ASCII 字符与
[ -~]匹配 -
通过更好的方式你是想说更短吗?
-
退后一步,您可以通过使用来自Control Pictures 块的表示来使这些字符可打印。另外,你为什么专注于 ASCII? JavaScript 使用 Unicode 字符集的 UTF-16 编码。当用户习惯了各种计算机字符时,他们可能无法理解“ASCII”????
标签: javascript node.js regex ascii