检查字符串是否包含不包括某些单词和正则表达式的单词组合

2024-09-26 18:10:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个正则表达式过滤器来检测一个字符串是否包含没有特定单词的特定子字符串

例如,我想查找包含子字符串“account manager”的所有字符串,并排除所有经理、高级经理和高级客户经理

我尝试使用re.findall(r“account | manager”),然后检查数组的长度是否为2,并且数组中是否不包含单词senior或sr

与此相反,我想创建一个表达式来(不包括单词senior和sr)和(包括单词account和manager) 因此,对于以下示例,条件应返回真/假条件值:

sr manager - False
senior key account manager - False
sr. key account manager - False
account manager - True
key account manager - True
manager - False
account manager - True

我试图创建如下内容,但这是不正确的: (?!高级| sr)(主要|客户|经理)

有人知道什么是检查这种情况的正确方法吗


Tags: key字符串refalsetrue过滤器manageraccount
1条回答
网友
1楼 · 发布于 2024-09-26 18:10:41

依靠正则表达式完成简单的任务通常是一个糟糕的主意。这里有一个简单易读的函数,它通过了所有测试用例

from typing import List
def validate_str(s: str, target_substring: str, excluded_strs: List[str]) -> bool:
    if target_substring not in s:
        return False
    if any((i in s for i in excluded_strs)):
        return False
    return True

相关问题 更多 >

    热门问题