【发布时间】:2017-08-13 05:20:20
【问题描述】:
程序要求我检查给定字符串中是否存在像 !@#... 这样的特殊字符。我该怎么做?
【问题讨论】:
标签: python
程序要求我检查给定字符串中是否存在像 !@#... 这样的特殊字符。我该怎么做?
【问题讨论】:
标签: python
首先定义一个函数。将re.search 与[^\w\s\d] 模式一起使用,它将匹配任何不是字母、空格、数字或下划线的内容。
In [43]: def foo(string):
...: return 'Valid' if not re.search('[^\w\s]', string) else 'Invalid'
...:
现在,你可以用你的字符串来调用它了:
In [44]: foo("@#example!")
Out[44]: 'Invalid'
In [45]: foo("Seemingly valid string")
Out[45]: 'Valid'
【讨论】:
试试这个any(x in string for x in '@#!')
【讨论】:
您可以使用re.match 来执行此任务。
试试:
word = "@#example!"
import re
print ("Valid" if re.match("^[a-zA-Z0-9_]*$", word) else "Invalid")
输出:
Invalid
【讨论】: