Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ IsMatch()

bool System.Text.RegularExpressions.RegexBoyerMoore.IsMatch ( string text,
int index,
int beglimit,
int endlimit )
inline

Definition at line 133 of file RegexBoyerMoore.cs.

134 {
135 if (!RightToLeft)
136 {
137 if (index < beglimit || endlimit - index < Pattern.Length)
138 {
139 return false;
140 }
141 }
142 else
143 {
144 if (index > endlimit || index - beglimit < Pattern.Length)
145 {
146 return false;
147 }
148 index -= Pattern.Length;
149 }
150 if (CaseInsensitive)
151 {
152 TextInfo textInfo = _culture.TextInfo;
153 for (int i = 0; i < Pattern.Length; i++)
154 {
155 if (Pattern[i] != textInfo.ToLower(text[index + i]))
156 {
157 return false;
158 }
159 }
160 return true;
161 }
162 return Pattern.AsSpan().SequenceEqual(text.AsSpan(index, Pattern.Length));
163 }

References System.Text.RegularExpressions.RegexBoyerMoore._culture, System.Text.RegularExpressions.RegexBoyerMoore.CaseInsensitive, System.Text.RegularExpressions.i, System.index, System.Text.RegularExpressions.RegexBoyerMoore.Pattern, System.Text.RegularExpressions.RegexBoyerMoore.RightToLeft, System.text, System.Globalization.CultureInfo.TextInfo, and System.Globalization.TextInfo.ToLower().

Referenced by System.Text.RegularExpressions.RegexInterpreter.FindFirstChar().