using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"^[a-z][a-z]*(([A-Z]{1,3}[a-z]+)*[A-Z]{0,3}|([a-z]+[A-Z]{1,3})*|[A-Z]{1,3})$";
string input = @"snake_case
PascalCase
2PascalCase
streamIOIO
gREATERDtha
modeADFAFdsADFads
aBabcABCDabcABC
lThan30DaysCount
lessThan30DaysCount
lessThan30DaysCountA
greaterThan30LessThan60DaysCount
greaterThan60LessThan90DaysCount
greaterThan90DaysCount
aabc123
gREA1
cP3
a1
a123
a1G
hELLO
camel01C
camel01c01
camel01C01
camel01CC01
camel0a1c1
camel0a1C1
camel0ac1b1C1
mode2A
mode2A2
mode2A2A
pascal2Case
pascal2CaseA
contextHTMLParser
camelCa1
camelCa_1
supportsIpv6OnIos
affine3D
camelC1
modeADFdsADFads
streamIO
aBCabcABCabcA
aBCabcA
aabcABC
ab
abc
abcd
abcde
deviceSNS
pathASNs
dscpCP
awsVPC
serialNo
deviceID
camelCasecamelCasecamelCasecamelCasecamelCasecamelCase
gREAt
gREAtREAt
aABC
modeADFsADFads
aG
a
modeADFads
camelCase
pascalCase
pascalCaseA
modeA
createAMode
createBMode
madeEasy
wonderFul
andMe
htmlParser
h
aaA
camelC
camelCA
ibsReleaseTestVerificationRegressionSuite
ibsReleaseTestVerificationRegressioNSuite
ibsReleaseTestVerificationRegressioN
xmlHttpRequest
newCustomerId
innerStopwatch
youTubeImporter
youtubeImporter";
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