求个正则表达式,求高人解答
要做个输入校验,输入的值不能包含: \ / : * ? " < > | ] = [
正则改怎么写?
[解决办法]
楼主换个思路,负负得正
你就写个正则,专门找这些字符
m = re.findall(你的正则表达式,输入字符串)
如果len(m)>0就是包含了这些字符呗
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32Type "copyright", "credits" or "license()" for more information.>>> import re>>> res = r'[\/|\\|\:|\*|\?|\"|\<|\>|\|\\]|\=|\[]'>>> s = 'sdfadfa\\'>>> res'[\\/|\\\\|\\:|\\*|\\?|\\"|\\<|\\>|\\|\\\\]|\\=|\\[]'>>> m = re.findall(res,s)>>> len(m)1>>> m['\\']>>> s = 'sadf/'>>> m = re.findall(res,s)>>> len(m)1>>> m['/']>>> 下面自己测试一下吧
[解决办法]
use strict;my $str = '123<>abc:456';if ($str =~ m{[^\\/:*?"<>|\[\]=]+}) { print "不包含非法字符。\n";}else { print "包含非法字符。\n";}