我正在使用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
答案 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)
内联选项/标记使模式不区分大小写,它将匹配CASE
和cAsE
。如果您只想匹配Case
和CASE
以及case
,则需要使用(?:[cC]ase|CASE)
。
答案 1 :(得分:2)
string regex = @"\s(?i)case\s{0,1}:\s{0,1}(\d+)";