質問に答える

連絡先IDのリストのためのRegex検索

私はCivi以外の連絡先のリストを持っていることがありますが、私はCiviで検索したいCiviIDを持っていますが、簡単にアクセスできる方法でグループ化されていません(共通イベント、活動、タグ、グループなどは検索しません)。長いリストの場合は、新しい一時グループに連絡先を追加して(実際の変更なしに)連絡先の更新インポートを行います。しかし、私が10歳未満の人がいると、それは多くのステップのようです。

私は、 “正規表現の検索ビルダーが動作するだろう”と思った。しかし私が置くとき

b(64|5917|5725|5892|5852|5818|5893|5850)b

または

b64b

または even

[64]

into the regex search, I get a “Please enter a valid value”
errまたは. I seem to get a valid search when using only numeric text
(“64”) without any regex operatまたはs, which kind of defeats the
entire purpose of regex.

私は大規模な正規表現のユーザーではないので、私は正規表現を台無しにしたと信じることができます。ここで間違っていることは何ですか?

ベストアンサー

それは本当です – コードを見るを使用すると、整数型フィールドを検索している場合はSearch
Builderに整数が必要です。 IN 演算子の使用は例外です。この場合、各値を別々に検証します。

正規表現を検証して悪意のあるものでないことを確認することは非常に難しい作業です。適切な答えは、正規表現を検索ビルダーから整数で削除することです。適切でないSearch
Builderから演算子を削除する作業がCivi 5.2で行われています。

However, to solve YOUR problem, you should use IN,
separating your values by commas like so:
64,5917,5725,5892,5852,5818,5893,5850

モバイルバージョンを終了