这是我正在寻找的模式 [stringData1 | stringData2 | OnlyNumericData1] 。 stringData1的最大大小限制为10 , stringData2的最大大小限制为50 。 stringData1,stringData2和OnlyNumericData1 中至少应包含一个字符。
案例#1:("这是测试主题行[testData1 | CS-SPL-GD-2014-01254 | 678]和[[test-1213-778]& #34); //返回:[testData1 | CS-SPL-GD-2014-01254 | 678]
案例#2:"这是测试主题行[testData1 | 1tes2345 | 678]和[resrtest-1213667-77448]"); //返回:[testData1 | 1tes2345 | 678]
案例#3 :("这是测试主题行[test Data1 | -12 | iiiii | 345-678]和[test | 124413tryrtytry | 77218]" ); //返回:[test | 124413tryrtytry | 77218]
案例#4 :("这是测试主题行[Hello Test | 1w2345 | 678]和[Hellotest | 122 2213 | 72278]"); //返回:无法返回。由于数据中的空白
案例#5 :("这是测试主题行[33 | 1d-d-dff = gg2345 |测试]和[teddddst | 1 | 21433} | 7788888]& #34;); //返回:返回[33 | 1d-d-dff = gg2345 | test]第一次出现模式匹配
到目前为止我的尝试。
var result = Regex.Match(subjectLine, @"\[\w{1,10}|\w{1,50}|[\d]+\]");
if (result.Success)
{
}
else
{
}
为此条件寻找C#正则表达式。
答案 0 :(得分:0)
你的正则表达式存在两个问题:
|
\w
与-
或=
不符。您可能想要使用\S
。结果:
\[\S{1,10}\|\S{1,50}\|\d+\]