using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"^@([^\s]+).+global\s+([^\s]+)\s+([^,]+).+";
string input = @"; ModuleID = 'foo.c'
source_filename = ""foo.c""
target datalayout = ""e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128""
target triple = ""x86_64-pc-linux-gnu""
@Test = dso_local global i32 5, align 4
; Function Attrs: noinline nounwind optnone uwtable
define dso_local void @main() #0 {
ret void
}
attributes #0 = { noinline nounwind optnone uwtable ""correctly-rounded-divide-sqrt-fp-math""=""false"" ""disable-tail-calls""=""false"" ""frame-pointer""=""all"" ""less-precise-fpmad""=""false"" ""min-legal-vector-width""=""0"" ""no-infs-fp-math""=""false"" ""no-jump-tables""=""false"" ""no-nans-fp-math""=""false"" ""no-signed-zeros-fp-math""=""false"" ""no-trapping-math""=""false"" ""stack-protector-buffer-size""=""8"" ""target-cpu""=""x86-64"" ""target-features""=""+cx8,+fxsr,+mmx,+sse,+sse2,+x87"" ""unsafe-fp-math""=""false"" ""use-soft-float""=""false"" }
!llvm.module.flags = !{!0}
!llvm.ident = !{!1}
!0 = !{i32 1, !""wchar_size"", i32 4}
!1 = !{!""clang version 10.0.0-4ubuntu1 ""}
";
RegexOptions options = RegexOptions.Multiline;
foreach (Match m in Regex.Matches(input, pattern, options))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx