Как мы узнали, имея шаблон регулярного выражения (например, A B A B A C
), мы можем преобразовать его в DFA. В этом примере это будет похоже на цепочку (вы можете протестировать ее здесь).
Этот «похожий на цепочку» DFA может сказать, соответствует ли данная строка шаблону или нет (т. Е. Принять / отклонить ее); Но он не может определить, есть ли какие-либо вхождения в строке, и идентифицировать их все.
Пример. Предположим, это строка для поиска: A B C A B A B A B A C A B C
Хотя есть вхождение, начинающееся с 6-го символа, «цепочечное» DFA не может этого сказать. Все, что он может сделать, это отклонить эту строку.
Вопрос. Можно ли разработать регулярное выражение, поддерживающее такую функциональность?
(Примечание: я понимаю, что этот вопрос немного сбивает с толку; я хотел бы уточнить, что он смущает вас.)
-o
дляgrep
в Linux; вместо того, чтобы показывать всю совпадающую строку, он просто показывает часть строки, совпадающую с регулярным выражением. - person Barmar   schedule 25.06.2015