ASP.NET-用于排除特定字符的正则表达式
本文关键字:字符 正则表达式 NET- 用于 排除 ASP | 更新日期: 2023-09-27 18:21:55
我需要一个正则表达式,它可以接受所有字母(a-Z,区分大小写)、数字(0-9)、空格和大多数字符。字段不能接受重音字符(ÁÚÍó)、制表符或以下字符:反斜杠()、小于(<)、大于(>)、波浪号(~)、等于(=)、双引号(")或逗号(,)
关于我需要什么样的正则表达式,有什么想法吗?
这样的东西应该可以工作:
^([A-Za-z0-9 ]+)$
它将匹配foo bar 1234 FOO BAR
,但不匹配foo bar 1234 FOO BAR dd
或foo bar 1234 FOO BAR'
注意:然后可以在方括号内添加大多数字符。
编辑:foo bar 1234 FOO BAR dd
包含一个制表符('t
)字符,但它正在缩小。
我认为这应该是您想要的字符
(?:[^'p{L}''<>~=",'t]|[A-Za-z])
[]
表示一个字符类,在那里你可以把所有字符都放进去,你想允许
[^]
表示否定的字符类,不允许里面的所有字符。
所以,我不知道一个预定义的类包含所有不在a-Z中的字母,所以我会选择一个替换。
第一个否定类在'p{L}
中包含所有字母,其余的是您不想允许的其他字符,但由于您想允许A-Z
,而且它们也在'p{L}
中,因此必须再次允许它们。这在第二部分中完成(|
是一个交替),其中我允许[A-Za-z]
。
因此,完整的正则表达式应该类似于以下
^(?:[^'p{L}''<>~=",]|[A-Za-z])+$