用于计算模式匹配的出现的正则表达式语法

时间:2016-07-12 22:02:05

标签: c# regex office365 predicate

我目前正在使用Microsoft Exchange on Cloud,Office 365中的内置数据丢失防护(DLP)功能。我需要创建一个模式,让我们说“X12345789”对组织敏感,以检查邮件附件是否在组织。现在我已经使用X\d{9}进行了测试,它运行正常。但是,我的要求是在特定文件中匹配此模式出现次数超过20个。

例如:如果文件包含以下信息,

X123456789
X234561285
X873674335
X555234922
X112233445

..依此类推,直到计数超过20,然后才采取行动。

是否可以根据此要求创建正则表达式?

目前我正在获得每个模式匹配的回复。我只对在交易中传递的批量信息感兴趣。

此外,正则表达式应该忽略excel中使用的空格或逗号的其他文本数据。 例如: 它甚至应该检测格式如下

X123456789 ergei slova 6284201245 HR,TA

1 个答案:

答案 0 :(得分:0)

假设您使用Regex类配置并设置了正则表达式,这应该非常简单。

MatchCollection matches = regex.Matches(myString); // assumes regex is Regex regex = Regex(pattern)
// OR
MatchCollection matches = Regex.Matches(myString, myPattern);
if(matches.Count > 20)
{
    /* Do something */
}

这将基本检查您的输入,并将所有匹配项放入MatchCollection对象,在该对象中可以使用匹配的标记执行任何操作。