【解決方法】単一の正規表現からの複数の包含/除外文字列の正規表現


こんにちは、助けが必要です。私がやろうとしていることが可能かどうか知りたいのですが、PHP を使用して API を実行し、CRM の会社データを取得しています。この API は正規表現を受け入れて検索を行います。文字通り「CEO」を使用している場合、文字 C、E、O を含むすべてに一致し、大文字と小文字は区別されません。^CEO$ 正規表現を使用して正確に一致させることで正確にすることができます「CEO」という用語を使用すると、1 つの正規表現内で複数の検索用語を組み合わせることができます。

目標は、「CEO」や「OWNER」などのいくつかの異なる文字列に対して SINGLE API 呼び出しで検索を実行することですが、ターゲット文字列に「assitant」や「junior」または「president」などの別の文字列のリストが含まれている場合は無視します。

私が試したこと:

例えば ​​:

xxxxx.com
|CEO|OWNER|president

対象用語 :

"OWNER", "assisant CEO", "OWNER and vice president", "CEO junior", "founder and director", "founder"

検索文字列リスト:

"CEO", "OWNER", "founder"

リストを無視する :

"assisant", "junio", "president"

結果は次の場合のみ一致する必要があります:

"OWNER", "founder and director", "founder"

簡単にするために用語を短くしたことを明記します。実際には、ターゲット文字列はテキストの段落です。

含めたり除外したりする文字列はおそらく10個あります。

皆さん、ありがとうございました。

解決策 1

2 つの正規表現を使用して、より明確で維持しやすくします。1 つ目は一致するすべての文字列を取得し、2 つ目は結果に適用して「無視リスト」を排除します。

単一の正規表現でそれを行うことはできますが、試す必要はないと思いますが、理解するのは恐ろしいことであり、維持するのが難しくなり、アプリの信頼性が低下します。

操作を 2 つに分割すると、ジョブが大幅に “クリーン” になり、操作が簡単になります。

コメント

タイトルとURLをコピーしました