【发布时间】:2021-01-05 18:25:38
【问题描述】:
我对正则表达式不是很熟悉。
我正在尝试对输入实施一些限制。我想允许所有数字和字符,包括 ~"$#*@ 等特殊字符,除了这 4 个:& ' % _。
我试过了:
/[a-zA-Z0-9\-!@#\$\^*\)\(+=.-\~\"]/
但它不限制_ 下划线。如何限制下划线,有没有最好的方法允许除 4 之外的所有符号,而无需在正则表达式中写入所有符号?
【问题讨论】:
-
这里有一个范围:
.-\~(索引 46-126),该范围包括下划线(索引 95)。亲自查看regex101.com/r/NRe2Fj/1 -
我会说用波浪号运算符
/[^&'%_\s]/否定少数例外更容易,而不是列出所有允许的例外(\s 表示空格) -
@buzatto 大概禁止列表还需要包含来自其他语言的字符。相比之下,允许列表会短得多。我相信人们也可以算出 46-94 和 96-126 的范围。
标签: javascript reactjs regex