我需要一个不允许使用字符的正则表达式。
^[A-Z0-9 _]*[A-Z0-9][A-Z0-9 _]*$
这些似乎不起作用,因为我需要逃避任何类型的角色(英语,中文,希腊语等)
答案 0 :(得分:1)
如果你只想接受数字和。使用POSIX(PHP)的字符:
^[.1-9]*$
如果要明确排除单词字符
^[^\w]*$
这将匹配除word个字符以外的任何内容。
注意(正如评论中所回答的那样):
您编辑了帖子并声明您使用的是PHP。据我所知,它使用POSIX ERE。在这种情况下,此解决方案将不工作。但是,如果其他用户(确实使用支持的引擎)找到了这个答案,我会保留搜索功能的答案。
答案 1 :(得分:1)
使用\p{L}
或\p{Letter}
匹配任何语言的任何(Unicode)字母。要匹配任何非字母,您应该使用以下任一项来否定:\p{^L}
或\P{L}
(取决于您使用的正则表达式引擎)。
答案 2 :(得分:0)
任何角色\与
不是字符\ WITH