使用 C# 正则表达式将以 "case" 开头的 ID 与 SSIS 脚本匹配
Matching IDs preceded with "case" with SSIS script using C# regex
我正在使用 SSIS 脚本组件从字符串中提取一些信息。
我想要以下模式中字符串中的 id:
case:123455
它嵌入如下字符串中:
This is a string. We want case:12345 and case:5656759 in the title 2.
我想从字符串中提取 ID 12345 和 565675。 'case'的出现是动态的,可以是none,一个字符串中可以出现1个或1个以上。
我需要有关正则表达式语法的帮助来提取信息。
应捕获以下情况:
case:12345, case :12345, case: 12345, case : 12345, Case:12345, CASE:12345
您可以使用后视和 \d+
:
(?i)(?<=\bcase:)\d+
见demo
此正则表达式将匹配出现在文字字符串 case:
之后的 1 个或更多数字,其中 case
是一个完整的单词 .
如果您需要带捕获组的版本,这里是:
(?i)\bcase:(\d+)
您需要的值将存储在捕获组 1 中。
更新
要在您的模式中允许可选空格,请使用
(?i)(?<=\bcase\s*:\s*)\d+
或者没有后视的版本:
(?i)\bcase\s*:\s*(\d+)
使模式不区分大小写
(?i)
内联 option/flag 使模式不区分大小写,它将匹配 CASE
和 cAsE
。如果只想匹配Case
和CASE
和case
,则需要使用(?:[cC]ase|CASE)
.
string regex = @"\s(?i)case\s{0,1}:\s{0,1}(\d+)";
我正在使用 SSIS 脚本组件从字符串中提取一些信息。
我想要以下模式中字符串中的 id: case:123455
它嵌入如下字符串中:
This is a string. We want case:12345 and case:5656759 in the title 2.
我想从字符串中提取 ID 12345 和 565675。 'case'的出现是动态的,可以是none,一个字符串中可以出现1个或1个以上。 我需要有关正则表达式语法的帮助来提取信息。
应捕获以下情况:
case:12345, case :12345, case: 12345, case : 12345, Case:12345, CASE:12345
您可以使用后视和 \d+
:
(?i)(?<=\bcase:)\d+
见demo
此正则表达式将匹配出现在文字字符串 case:
之后的 1 个或更多数字,其中 case
是一个完整的单词 .
如果您需要带捕获组的版本,这里是:
(?i)\bcase:(\d+)
您需要的值将存储在捕获组 1 中。
更新
要在您的模式中允许可选空格,请使用
(?i)(?<=\bcase\s*:\s*)\d+
或者没有后视的版本:
(?i)\bcase\s*:\s*(\d+)
使模式不区分大小写
(?i)
内联 option/flag 使模式不区分大小写,它将匹配 CASE
和 cAsE
。如果只想匹配Case
和CASE
和case
,则需要使用(?:[cC]ase|CASE)
.
string regex = @"\s(?i)case\s{0,1}:\s{0,1}(\d+)";