匹配ID前面带有" case"使用C#regex的SSIS脚本

时间:2015-07-08 12:02:50

标签: c# regex ssis

我正在使用SSIS脚本组件从字符串中提取一些信息。

我想在下面的模式中的字符串中的id: 情况下:123455

它嵌入在如下字符串中:

This is a string. We want case:12345 and case:5656759 in the title 2.

我想提取id 12345&从字符串565675。案件的出现'是动态的,可以是无,可以在字符串中出现1或大于1。 我需要有关正则表达式语法的帮助来提取信息。

应捕获以下案例:

case:12345, case :12345, case: 12345, case : 12345, Case:12345, CASE:12345

2 个答案:

答案 0 :(得分:2)

您可以使用后视和\d+

(?i)(?<=\bcase:)\d+

请参阅demo

此正则表达式将匹配 1个或更多数字,这些数字出现在文字字符串case:之后,其中case是一个完整的单词

如果您需要具有捕获组的版本,请执行以下操作:

(?i)\bcase:(\d+)

您需要的值将存储在捕获组1中。

<强>更新

要在模式中允许可选空格,请使用

(?i)(?<=\bcase\s*:\s*)\d+

或没有lookbehind的版本:

(?i)\bcase\s*:\s*(\d+)    

使模式不区分大小写

(?i)内联选项/标记使模式不区分大小写,它将匹配CASEcAsE。如果您只想匹配CaseCASE以及case,则需要使用(?:[cC]ase|CASE)

答案 1 :(得分:2)

string regex = @"\s(?i)case\s{0,1}:\s{0,1}(\d+)";  

Demo