首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

求个正则表达式,求高人解答解决方案

2012-04-11 
求个正则表达式,求高人解答要做个输入校验,输入的值不能包含: \ / : * ? | ] [正则改怎么写?[解决

求个正则表达式,求高人解答
要做个输入校验,输入的值不能包含: \ / : * ? " < > | ] = [

正则改怎么写?

[解决办法]
楼主换个思路,负负得正
你就写个正则,专门找这些字符
m = re.findall(你的正则表达式,输入字符串)
如果len(m)>0就是包含了这些字符呗

Python code
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['/']>>> 下面自己测试一下吧
[解决办法]
探讨

re.compile(r'[^\\/:*?"<>|[=\]]')

[解决办法]
探讨

这个正则表达式我是写在xml配置文件里的,所以不能用r''这样的标示,谁再更新下,多谢!!
r'^[^\\/:*?"<>|[=\]]*$'

[解决办法]
Perl code
use strict;my $str = '123<>abc:456';if ($str =~ m{[^\\/:*?"<>|\[\]=]+}) {    print "不包含非法字符。\n";}else {    print "包含非法字符。\n";} 

热点排行