Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正则表达式与python的负匹配_Python_Regex_Regex Negation - Fatal编程技术网

正则表达式与python的负匹配

正则表达式与python的负匹配,python,regex,regex-negation,Python,Regex,Regex Negation,我有一个只允许包含字母、数字、空格和符号“:”的字符串。因此,我编写了以下代码: regex = r'![a-zA-Z0-9\:\ ]+' print re.match(regex, myString) 然而,它似乎不起作用。我尝试了不同的组合r'?!([a-zA-Z0-9\:\])+'和搜索,但似乎不起作用。有任何帮助吗?如果您想要正匹配(有效字符),请使用: r'^[a-zA-Z0-9: ]+$' 如果需要负匹配(字符串是否包含无效字符),则: 要使第一个表达式工作,需要添加如下锚定:r

我有一个只允许包含字母、数字、空格和符号“:”的字符串。因此,我编写了以下代码:

regex = r'![a-zA-Z0-9\:\ ]+'
print re.match(regex, myString)

然而,它似乎不起作用。我尝试了不同的组合
r'?!([a-zA-Z0-9\:\])+'
和搜索,但似乎不起作用。有任何帮助吗?

如果您想要正匹配(有效字符),请使用:

r'^[a-zA-Z0-9: ]+$'
如果需要负匹配(字符串是否包含无效字符),则:


要使第一个表达式工作,需要添加如下锚定:
r'^[a-zA-Z0-9:::+$”
。第二个表达式应该可以正常工作。我使用的是负匹配。它不工作,对于[valid and invalid]字符串,它re.match返回的都是none,它一定是Python的东西。根据文档,
match
匹配“字符串开头的零个或多个字符”。尝试
search
而不是
match
,这样
print re.search(regex,myString)
。请参阅文件:+1并接受。在搜索中工作,但我犯了一个错误。我一行一行地阅读文件,我忘了考虑换行符。现在它正在工作。非常感谢。
r'[^a-zA-Z0-9: ]+'