re.escape() arguments for 'contains()' (#2446)

This commit is contained in:
Mike Fährmann
2022-04-07 15:35:54 +02:00
parent 78e5d0c423
commit d78a2c7163
2 changed files with 3 additions and 4 deletions

View File

@@ -79,7 +79,7 @@ def contains(values, elements):
if isinstance(values, str):
fmt = r"\b{}\b".format
for e in elements:
if re.search(fmt(e), values):
if re.compile(fmt(re.escape(e))).search(values):
return True
else:
for e in elements:

View File

@@ -328,9 +328,8 @@ class TestOther(unittest.TestCase):
self.assertFalse(util.contains(c, "bar"))
self.assertFalse(util.contains(c, [2, 5, "bar"]))
s = "1, 2, 3, asd, qwe, yxc, foo, bar"
self.assertTrue(util.contains(s, 2))
self.assertTrue(util.contains(s, "asd"))
s = "1, 2, 3, asd, qwe, y(+)c, f(+)(-), bar"
self.assertTrue(util.contains(s, "y(+)c"))
self.assertTrue(util.contains(s, ["asd", "qwe", "yxc"]))
self.assertTrue(util.contains(s, ["sdf", "dfg", "qwe"]))
self.assertFalse(util.contains(s, "tag1"))