我试图匹配所有可打印的符号,因此范围将是以下(十进制):
33-47
58-64
91-96
123-126
到目前为止,我见过的最好的事情就像..
([!\"#$%&'()*+,\-.\/:;<=>?@[\\\]\^_`{\|}~"])+
肯定有更好的方法吗?
在我的应用程序中,正则表达式对于用户来说是部分可见的,所以我更喜欢眼睛上更容易的东西(更少的反斜杠以及一般的角色)。
编辑:符号是指33到127之间的所有内容,但不包括字母和数字。
答案 0 :(得分:2)
以下字符类应该可以正常工作:
[!-\/:-@\[-`{-~]
它由4个提到的范围组成,其中/
和[
需要转义。
答案 1 :(得分:2)
你当前的正则表达式非常好,没有更好的方法但是如果你正在寻找一个更短的那个你可能会带来这个:
(?=[!-~])[\W_]