Мы просматриваем очень большой набор строк для шаблонов стандартных чисел, чтобы найти номера листов чертежа. Например, допустимые номера листов: A-101, A101, C -101, C102, E-101, A1, C1, A-100-A и т. Д.
Они могут содержаться в строке, такой как «Номер листа - это план первого этажа A-101»
Шаблоны номеров листов всегда состоят из одинаковых шаблонов типа символов (цифры, символы и разделители (-, пробел, _)), и если мы преобразуем все действительные числа в шаблон, указывающий тип символа (A-101 = ASNNN, A101 = ANNN, A1 - AN и т. д. c), то всего ~ 100 действительные шаблоны.
Наш план состоит в том, чтобы преобразовать каждый символ в строке в его тип символа и затем найти допустимый шаблон. Таким образом, вопрос в том, что является лучшим способом поиска в «AAASAAAAASAAAAAASAASASNNNSAAAAASAAAAASAAAA», чтобы найти один из 100 допустимых шаблонов типов символов. Мы рассмотрели возможность выполнения 100 текстовых поисков для каждого шаблона, но, похоже, мог бы быть лучший способ найти шаблон-кандидат, а затем выполнить поиск, чтобы определить, является ли он одним из 100 допустимых шаблонов.