using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(?:\""(?:(?<=\""(?=[^\n]))[^\n]+?(?=(?<!\\))(?=\""))?\"")|(\B'(?:(?<='(?=[^\n]))[^\n]+?(?=(?<!\\))(?='))?')";
string input = @"
1. Valid double-quoted strings:
- ""Hello""
- ""This is a test""
- ""123""
- ""Special characters: @#$%^&*()_+""
- ""Escape sequence: \n""
2. Valid double-quoted strings with additional characters or variables:
- "" test aaaaa \"" "" + asdf
- "" test "" + ( ""aaaaa"" ) + gdf
- "" test \"" "" + `"" aaaa "" + dfg
- "" test ' aaaaa \"" "" + dfg
- ""
3. Valid double-quoted strings with special characters:
- ""sas''as\""a1\'2 ! -_?:sa""
- ""''""
- ""\abnb\ajhgf\crt098& \""'""
4. Invalid double-quoted strings:
- "" test "" + ( ""aaaaa"" ) \"" saf
- ""\\ + \* test "" \$ \. dsdfs
- (\"" test \"" "" + "" aaaa "" sfgd
- ' test ' + aas ( ""aaaaa"" ) + '\ sd
- '\\ + \* test ' \$ \. trace
- (' test ' as ' + ' aaaa '
- '""'
- '""sas'
- 'ads'
- 'asdasd\""asdsa'
- ""klkl""klkl
- ""asa\'sasa\\""
- \'\\\'
- ""hhhh""klkl""
- 'jkjkjk'klklk'
- '\""\\\""'
- ''
- '\""asa\'sasa\\\""'
- ""sasasasa\\\\\\""
1. Valid single-quoted strings:
- 'Hello'
- 'This is a test'
- '123'
- 'Special characters: @#$%^&*()_+'
- 'Escape sequence: \n'
2. Valid single-quoted strings with additional characters or variables:
- ' test aaaaa \' ' + asdf
- ' test ' + ( 'aaaaa' ) + gdf
- ' test \' ' + ' aaaa' + dfg
- ' test "" aaaaa \' ' + dfg
- ''
3. Valid single-quoted strings with special characters:
- 'sas""as\'a1\""2 ! -_?:sa'
- '""'
- '\abnb\ajhgf\crt098& \'""'
4. Invalid single-quoted strings:
- ' test ' + ( 'aaaaa' ) \' saf
- '\\ + \* test ' \$ \. dsdfs
- (\' test \' + ' aaaa ' sfgd
- "" test \"" "" + "" aaaa "" sfgd
- ' test ' + aas ( 'aaaaa' ) + '\ sd
- '\\ + \* test ' \$ \. trace
- (' test ' as ' + ' aaaa '
- ""''""
- 'sas""
- ""ads'
- 'asdasd\'asdsa'
- ""klkl""klkl
- ""asa\'sasa\\""
- \'\\\'
- 'hhhh""klkl\'\
- \'jkjkjk""klklk'
- ""\'\\\'""
- ''
- '\""asa\'sasa\\\""'
- 'sasasasa\\\\\\'
";
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