想象一下,用户正在多台计算机中插入字符串.
在一台计算机上,配置中的模式将提取该字符串的一些字符,比如位置4到5.在另一台计算机上,提取模式将返回其他字符,例如,字符串的最后3个位置.
这些配置(正则表达式模式)对于每台计算机都是不同的,管理员可以进行更改,而无需更改源代码.
一些例子:
Original_String Return_Value User1 - abcd78defg123 78 User2 - abcd78defg123 78g1 User3 - mm127788abcd 12 User4 - 123456pp12asd ppsd
可以用正则表达式完成吗?谢谢.
为什么要使用正则表达式呢?出什么问题了:
string foo = s.Substring(4,2); string bar = s.Substring(s.Length-3,3);
(你可以把它们包起来做一些边界 - 检查长度很容易)
如果你真的想要,你可以把它包起来Func
放在某个地方 - 不确定我会打扰,但是:
Funcget4and5 = s => s.Substring(4, 2); Func getLast3 = s => s.Substring(s.Length - 3, 3); string value = "abcd78defg123"; string foo = getLast3(value); string bar = get4and5(value);