从这个Regexp中获取一些值

时间:2011-04-10 23:17:54

标签: regex vb.net

"_anim\(\d+\)$"

好的,我可以检查任何后缀为_anim的字符串。 但是我需要得到括号内的值(我希望它是一个整数)。而且我还需要在_anim前缀之前获取值(我希望它是一个字符串)。

这就是我没有得到的:它如何“获得”价值,而不仅仅是“知道”有匹配?

1 个答案:

答案 0 :(得分:1)

这是通过将事物放入捕获组来完成的。在正则表达式中,这些是由括号定义的,这就是为什么你必须在上面的正则表达式中转义它们,我认为,因为你想要检查实际的括号。

捕获组可以按照它们出现的顺序由数字访问。

Dim ResultString As String
Try
    ResultString = Regex.Match(SubjectString, "(.*)_anim\((\d+)\)$").Groups(1).Value
Catch ex As ArgumentException
    'Syntax error in the regular expression
End Try

0将是整场比赛,1是_anim之前的东西,2是这种情况下你的数字。