use*_*097 5 python regex string special-characters
所以我想做的是检查字符串是否只包含特殊字符。一个例子应该清楚
Hello -> Valid
Hello?? -> Valid
?? -> Not Valid
Run Code Online (Sandbox Code Playgroud)
对所有特殊字符执行相同的操作,包括 "."
您可以将此正则表达式与锚点一起使用来检查您的输入是否仅包含非单词(特殊)字符:
^\W+$
Run Code Online (Sandbox Code Playgroud)
如果下划线也被视为特殊字符,则使用:
^[\W_]+$
Run Code Online (Sandbox Code Playgroud)
代码:
>>> def spec(s):
if not re.match(r'^[_\W]+$', s):
print('Valid')
else:
print('Invalid')
>>> spec('Hello')
Valid
>>> spec('Hello??')
Valid
>>> spec('??')
Invalid
Run Code Online (Sandbox Code Playgroud)
您可以使用服装 python 功能:
>>> import string
>>> def check(s):
... return all(i in string.punctuation for i in s)
Run Code Online (Sandbox Code Playgroud)
string.punctuation包含所有特殊字符,您可以使用all函数来检查所有字符是否都是特殊字符!