using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"^
#whitespace
([ ]*)
(?:
# Error position - line location
(-{6,})([\^])
|
# Line number
([\d]+)
# Line number delim
([\|])
# Code indent
([ \t]*)
(?:
# Comment ?
([\/]{2}.+)?
|
# Else code block line
(.*)
)
$
)
|
# Function delim token
(at +)
# Function
(.+?)
# (, Path base
([\(].+?)
# File
([^\/]+?)
# Line:char
(?:(:)(\d+))?
(?:(:)(\d+))?
# Function path
([\)])";
string input = @" watching /Users/disk0/.nvm/versions/node/v13.2.0/lib/node_modules/stylus/lib/functions/index.styl
ParseError: inject/code-custom.styl:125:44
121| else
122| // Add room for window controls
123| body.mac
124| // Only target first tab bar
125| [data-keybinding-context=""1""] .tabs-and-actions-container
---------------------------------------------------^
126| & .tabs-and-actions-container
127| padding-left: 9em
128| & .dragging-area-left-padding
expected "":"", got "")""
at Parser.error (/Users/disk0/.nvm/versions/node/v13.2.0/lib/node_modules/stylus/lib/parser.js:259:11)
at Parser.expect (/Users/disk0/.nvm/versions/node/v13.2.0/lib/node_modules/stylus/lib/parser.js:287:12)
at Parser.ternary (/Users/disk0/.nvm/versions/node/v13.2.0/lib/node_modules/stylus/lib/parser.js:1964:12)
at Parser.negation (/Users/disk0/.nvm/versions/node/v13.2.0/lib/node_modules/stylus/lib/parser.js:1953:17)
at Parser.expression (/Users/disk0/.nvm/versions/node/v13.2.0/lib/node_modules/stylus/lib/parser.js:1932:24)
at Parser.ternary (/Users/disk0/.nvm/versions/node/v13.2.0/lib/node_modules/stylus/lib/parser.js:1963:27)
at Parser.negation (/Users/disk0/.nvm/versions/node/v13.2.0/lib/node_modules/stylus/lib/parser.js:1953:17)
at Parser.expression (/Users/disk0/.nvm/versions/node/v13.2.0/lib/node_modules/stylus/lib/parser.js:1932:24)
at Parser.primary (/Users/disk0/.nvm/versions/node/v13.2.0/lib/node_modules/stylus/lib/parser.js:2250:23)
at Parser.member (/Users/disk0/.nvm/versions/node/v13.2.0/lib/node_modules/stylus/lib/parser.js:2174:21)
compiled inject/FontLoad.css
watching inject/FontLoad.styl
";
RegexOptions options = RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace;
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