使用.NET Regex查找括号中的字符

时间:2012-05-22 12:05:34

标签: c# regex

如何使用 Regex 从表达式98获取$RetailTransaction.IsContainsTender(98)

1 个答案:

答案 0 :(得分:9)

像往常一样,在这种情况下,你应该首先问问自己数据的样子(不止一个例子)以及对它的期望。

最简单的路线可能只是正则表达式

\d+

但如果行中的数字多于您想要的数字,则会失败。

您可以考虑括号:

(?<=\()\d+(?=\))

这使用了lookbehind和lookahead断言,因此数字是完全匹配(并且不会隐藏在捕获组中)。

您还可以使用其他上下文,例如方法名称:

(?<=IsContainsTender\()\d+(?=\))

所有这些都可以使正则表达式对可能意外匹配的不需要的数据更加健壮,但这只是你可以做出的权衡,因为出于某种原因我只有一个例子可以在这里工作。如果您只需要匹配98,那么98是一个有效的正则表达式,并通过上面的示例执行您想要的操作。因此,我恳请您应该更加认真地对待想要匹配的案例以及可能会给您过度简单化的方法带来麻烦的案例。