ASP.NET-用于排除特定字符的正则表达式

本文关键字:字符 正则表达式 NET- 用于 排除 ASP | 更新日期: 2023-09-27 18:21:55

我需要一个正则表达式,它可以接受所有字母(a-Z,区分大小写)、数字(0-9)、空格和大多数字符。字段不能接受重音字符(ÁÚÍó)、制表符或以下字符:反斜杠()、小于(<)、大于(>)、波浪号(~)、等于(=)、双引号(")或逗号(,)

关于我需要什么样的正则表达式,有什么想法吗?

ASP.NET-用于排除特定字符的正则表达式

这样的东西应该可以工作:

^([A-Za-z0-9 ]+)$

它将匹配foo bar 1234 FOO BAR,但不匹配foo bar 1234 FOO BAR ddfoo 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])+$