在vb.net中使用regex.match查找类名

时间:2014-03-01 02:48:10

标签: regex vb.net

我在Visual Basic中使用一个非常简单的Java编译器。我想在Java代码中解析类名,我将其粘贴到VB程序的文本框中。例如:

class MyPro {   // in this case i need to get "MyPro"

我使用了Regex.Match,但我失败了。以下是我尝试的代码:

Dim regex As Regex = New Regex("(class)*{")
    Dim match As Match = regex.Match("class mypro{")
    If match.Success Then
        Console.WriteLine(match.ToString)
    End If

修改

有时源代码如下:

class Football extends Sports{

在这种情况下,我想获得Football

有时它是:

class Dog implements ISpeak{

在这种情况下,我想获得Dog

有时这些类也实现扩展,如下所示:

class hello implements Serializable extends Object {

有4种模式:

  1. class MyPro { //I want to get "MyPro"
  2. class Football extends Sports{ //"Football"
  3. class Dog implements ISpeak{ //"Dog"
  4. class hello implements Serializable extends Object { //"hello"

1 个答案:

答案 0 :(得分:1)

您可以使用以下正则表达式:

class\s+([^\s]+)[\s\r\n{]

类的值将在index = 1的组中捕获。在C#中,它将是:match.Groups[1].Value