我想找一个不允许字符串包含“。”的正则表达式。字符。
例如,应接受this_is!a-cat
,但应拒绝this.isacat
。
答案 0 :(得分:14)
您可以使用此正则表达式:^[^\.]*$
^
- 字符串的开头[^\.]*
- 除.
以外的任何字符,任意数量的重复$
- 字符串结尾答案 1 :(得分:1)
只需匹配字符,然后否定结果:
my $str = 'this.isacat';
my $has_no_comma = !($str =~ !m/\./);
(请注意,上面的内容是Perl,但概念应该适用于任何语言)
答案 2 :(得分:0)
^[^\.]*$
这定义了一个匹配除点之外的所有字符的字符类。它还指定从头到尾的完整字符串很多都包含此类中的字符。
答案 3 :(得分:-1)
/^(?!.*\.).+$/
应该做的伎俩。使用否定前瞻来取消具有句点的任何内容(请记住,需要将其转义为正则表达式中的.
表示任何字符)。
或者,您可以创建一个匹配除句点之外的任何字符的类:
/^[^.]+$/
[^
(字符)]
表示“ NOT (字符)”。