[在python中使用正则表达式搜索字符串子字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[在python中使用正则表达式搜索字符串子字符串相关的知识,希望对你有一定的参考价值。
您好,我正在尝试搜索字符串的子字符串,如果找到,则返回“是”。
对于exp:我有字符串Deracu876
,子字符串是D,d,e,E,r,R,A,a,c,C,u,U,8,7,6
,所以结果是这里:
deracu876
:是Deracu8762
:否Dderacu876
:是sNdAp725
:否
这是我使用正则表达式编写的代码,但无法正常工作
import re
def match(text,pattern):
# regex
# searching pattern
if re.search(pattern,text,re.IGNORECASE):
return('Yes')
else:
return('No')
text=input()
pattern=""
for w in text :
pattern=pattern+'|'+w
print(match("Deracu8762",pattern))
答案
您的for
循环将|
放在模式的开头,例如如果text
为abc
,则图案为|a|b|c
。这将匹配一个空字符串,该字符串是每个字符串的子字符串。
您可以简单地将[]
包裹在字符周围,例如[deracu876]'
。这与任何这些字符匹配。
您还需要制作另一种模式来拒绝text
中没有的字符。您可以通过将字符放在[^]
中来完成此操作,例如[^deracu876]
。
def match(text, substring):
if re.search('[' + substring + ']', text, re.IGNORECASE) and not re.search('[^' + substring '], text, re.IGNORECASE):
return "True"
else:
return "False"
text = input()
print(match("Deracu8762",text))
以上是关于[在python中使用正则表达式搜索字符串子字符串的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Python 结合正则表达式和字符串/文件操作在文本文件中搜索模式并存储模式的实例?