如何使用Regex98
从表达式中获取信息?$RetailTransaction.IsContainsTender(98)
问问题
174 次
1 回答
9
像往常一样,在这种情况下,您应该首先问自己数据会是什么样子(有多个示例)以及对它的期望。
最简单的路线可能只是正则表达式
\d+
但是,如果该行中的数字多于您想要的数字,这将失败。
您可以考虑括号:
(?<=\()\d+(?=\))
这使用后向和前瞻断言,以便数字是完全匹配的(而不是隐藏在捕获组中)。
您还可以使用其他上下文,例如方法名称:
(?<=IsContainsTender\()\d+(?=\))
所有这些都可以使正则表达式对可能意外匹配的不需要的数据更加健壮,但这是一个只有你可以做出的权衡,因为出于某种原因,我在这里只有一个示例可以使用。如果您只需要匹配 a 98
, then98
就是一个有效的正则表达式,并且可以按照上面的示例执行您想要的操作。因此,我请求您应该更加仔细地考虑您想要匹配的案例以及可能会给您带来麻烦的过于简单的方法的案例。
于 2012-05-22T12:08:01.510 回答