如何使re.search查找多种模式?

时间:2019-01-21 07:52:43

标签: python regex

您好,目前正在阅读一本有关正则表达式的书,而我被困在这项任务上。

c)如果字符串中不包含空格或字符串数​​量和价格之间的字符串错误,则匹配字符串

str1 = '23,qty,price,42'
str2 = 'qty price,oh'
str3 = '3.14,qty,6,errors,9,price,3'
str4 = 'qty-6,apple-56,price-234

我想出了如何检查字符串中是否不包含空格以及数量和价格之间是否存在错误的方法,但是我无法将两者结合在一起。

bool(re.search(r"^[^ ]+$",str1))
bool(re.search(r"(qty((?!error).)*price)",str1))

我的问题是,如果我想同时检查这两个要求,re.search会是什么样?

1 个答案:

答案 0 :(得分:2)

编写一个匹配的正则表达式会更容易,该正则表达式在字符串包含两个正则表达式时匹配,然后使用not运算符将结果求反。

if not re.search(r"\s|qty.*error.*price", str1):