python正则表达式-标识具有N个以上非字母数字的字符串
我想识别包含3个以上非字母数字(除了\.\-\s)的字符串,这将计算标点和特殊字符。python正则表达式-标识具有N个以上非字母数字的字符串,python,regex,Python,Regex,我想识别包含3个以上非字母数字(除了\.\-\s)的字符串,这将计算标点和特殊字符。 我试过使用下面的正则表达式,但它用“序列中的非字母数字”标识字符串 ([^a-zA-Z0-9.-\s]){2,} 例如:abc定义已识别,ab c\U d未识别 我想识别任何包含3个以上非字母数字的字符串(除了\.\-\s)如果您想识别至少有三个(如示例所示)非字母数字出现的字符串,不一定按顺序出现,您可以使用: ([^a-zA-Z0-9.\-\s].*){3} 您可以简单地使用{3},因为末尾的*将处理字符
我试过使用下面的正则表达式,但它用“序列中的非字母数字”标识字符串 ([^a-zA-Z0-9.-\s]){2,} 例如:abc定义已识别,ab c\U d未识别
我想识别任何包含3个以上非字母数字的字符串(除了\.\-\s)如果您想识别至少有三个(如示例所示)非字母数字出现的字符串,不一定按顺序出现,您可以使用:
([^a-zA-Z0-9.\-\s].*){3}
您可以简单地使用
{3}
,因为末尾的*
将处理字符串的其余部分。您可以使用以下方法检查包含3个以上非字母数字的字符串
import re
reg = r'.*([^a-zA-Z0-9\.\-\s]{4}).*'
print(re.search(reg,"!$#@abcdef"))
print(re.search(reg,"123abc"))
print(re.search(reg,"#$abc"))
print(re.search(reg,"abc____def"))
print(re.search(reg,"abc---def"))
“\W”
即([^a-zA-Z0-9])
也可用于非字母数字,但不包括“\u1”