main_str = 'Indian'
words = ['nda','dan','ndani']
for word in words:
checker = []
for i in range(len(main_str)):
if i == len(word):
break
if word[i] in main_str[i::]:
checker.append('True')
else:
checker.append('False')
if 'False' in checker:
print('False')
else:
print('True')
import re
string = 'Indian'
substrings = [
'nda',
'dan',
'ndan1'
]
for substring in substrings:
rex = '.*'.join(re.escape(ch) for ch in substring) # 'n.*d.*a'
print('True' if re.search(rex, string) else 'False')
您只需要根据主字符串索引从头到尾检查每个字符。 您可以尝试以下方法:
这不是很有效率和直观,但它完成了工作(我认为)。您可以修改代码以适应您的输入
可以通过从要匹配的子字符串创建正则表达式来实现这一点。例如,对于第一个测试用例,如果您想知道在“Indian”中是否可以找到“nda”,则形成正则表达式
n.*d.*a
,并在“Indian”中搜索该表达式:印刷品:
对于每个查询,在查询字符串的开头初始化一个指针,仅当在父字符串中循环时匹配父字符串中的字母表时,才递增该指针
您可以对每个查询执行此操作
相关问题 更多 >
编程相关推荐