public RawSubStringPattern(string patternText)
{
if (patternText.Length == 0)
throw new ArgumentException("Cannot match on empty string.");
needleString = patternText;
byte[] b = Constants.encode(patternText);
needle = new byte[b.Length];
for (int i = 0; i < b.Length; i++)
needle[i] = lc(b[i]);
}