使用正则表达式搜索其他字符串中的字符串元素

时间:2019-02-07 19:44:17

标签: python regex

我正在寻找检查其他字符串中是否存在字符串元素的最佳方法 我有两种情况:

string1 = "BMW Serie 3 Touring 318d 143ch Business"
string2 = "bmw serie 3"

我想做: 如果string2中的元素在string1中,那么做些什么

但在另一种情况下

string1 = "DS 7 crossback"
string2 = "ds7"

我在第一种情况下使用的是什么,我不能在这种情况下使用

我认为正则表达式是最好的方法,但是我不知道在if语句(Python)中使用match(当然,我已经使用了lower()来简化匹配)

非常感谢您的帮助

2 个答案:

答案 0 :(得分:0)

您无需使用正则表达式,可以使用属于stringspython对象一部分的函数,也可以使用count来给您出现次数或只使用in即可获得boolean

选项1:

string1 = "BMW Serie 3 Touring 318d 143ch Business"
string2 = "bmw serie 3"
if string1.count(string2) > 0:
    print("contain")
else:
    string1 = "DS 7 crossback"
    string2 = "ds7"

选项2:

string1 = "BMW Serie 3 Touring 318d 143ch Business"
string2 = "bmw serie 3"
if string2 in string1
    print("contain")
else:
    string1 = "DS 7 crossback"
    string2 = "ds7"

答案 1 :(得分:0)

您想为子字符串搜索增加一些容忍度,删除空格并转换为小写:

>>> string1 = "DS 7 crossback"
>>> string2 = "ds7"
>>> string2 in string1.lower().replace(" ","")
True