Рассмотрим входную строку S длины n. Приложение должно рассмотреть, если S соответствует любому из m регулярных выражений. Учитывая предположение, что конкретные регулярные выражения могут быть сопоставлены по времени O (n), могут ли все выражения m быть протестированы быстрее, чем тривиальный подход к тестированию каждого выражения в последовательности? Кроме того, если такая операция возможна, существуют ли какие-либо библиотеки (любой язык), которые ее реализуют?Проверьте строку на множество регулярных выражений
0
A
ответ
0
Не уверен, что это действительно отвечает на ваш вопрос.
Вот примерный скрипт, который может быть использован для проверки действительного и недействительного списка строк и проверки на некоторые регулярные выражения.
def validList = ["9999","[9999]","9-9","[9-9]","09XYAB","ABXY","BA09YX"]
def invalidList = ["[999","9- ", "9-]", "9- 9","9[", "[999[", "09XYABC","1234", "A B"]
def pattern = ~/([09XYAB-]*)|([\[]([09XYAB-]*)([\]]))/
print "Verifying against the regex '${pattern}'\n"
print "Valid List Result(+ve tests)"
print "\n---------------------------------------------\n"
validList.each{
if(pattern.matcher(it).matches()) {
print it +"\ttest passed - Pattern matched\n"
} else {
print it +"\ttest failed - Pattern not matched\n"
}
}
print "\n"
print "inValid List Result(-ve tests)"
print "\n---------------------------------------------\n"
invalidList.each{
if(!(pattern.matcher(it).matches())) {
print it +"\tTest Passed - Pattern not matched\n"
} else {
print it +"\tTest Failed - Pattern matched\n"
}
}
Можно быть в состоянии проверить на console
Смежные вопросы
- 1. Множество состояний цепи регулярных выражений
- 2. Учитывая строку, как перебирать множество регулярных выражений, чтобы найти совпадение?
- 3. разбить строку на основе регулярных выражений
- 4. jQuery: Замените несколько регулярных выражений на строку?
- 5. Spliting строку на основе регулярных выражений
- 6. Ограничить множество шаблонов регулярных выражений для выполнения пользователем на сервере
- 7. PHP заменить строку регулярных выражений
- 8. Проверьте, если файл существует на Nginx с помощью регулярных выражений
- 9. Split регулярных выражений на Пути
- 10. Получение регулярных выражений (регулярных выражений) в Stata
- 11. регулярных выражений (регулярных выражений) в vb.net
- 12. Подобрав определенную строку шаблона без регулярных выражений
- 13. Регулярных выражений
- 14. Изменить JSON строку с помощью регулярных выражений
- 15. разобрать строку с помощью регулярных выражений
- 16. Заменить строку с помощью регулярных выражений
- 17. Проверьте, соответствует ли строка любому массиву регулярных выражений?
- 18. Как заменить строку с использованием регулярных выражений
- 19. Заменить строку с помощью регулярных выражений
- 20. Синтаксический эту строку регулярных выражений PHP
- 21. Как следует разграничить строку регулярных выражений?
- 22. Как вытащить строку с помощью регулярных выражений
- 23. Javascript - разбить строку с помощью регулярных выражений {{...}}
- 24. Заменить строку: "{с использованием регулярных выражений
- 25. Разбивает строку в массив регулярных выражений PHP
- 26. Как отменить строку проверки регулярных выражений?
- 27. PHP регулярных выражений вернуть определенную строку
- 28. замена регулярных выражений в Java строку
- 29. Синтаксический сложную строку с использованием регулярных выражений
- 30. регулярных выражений