я испытываю затруднения, придумывающие надлежащее регулярное выражение для соответствия строке.
у меня есть эта строка
asdasa asdas asdhhgfh dfgdfdasa ttte aa1 asasda aa2
я пытаюсь использовать regex, но не могу суметь предоставить надлежащее регулярное выражение строкам совпадения 3 символа долго.
в настоящее время пытаясь настроить этого - ^. {2} $, но не получение, что ожидало, получая ошибку недостающего разделителя "^".
я также судил regex редактора онлайн, никакая справка все еще.
можно ли помочь?
Что-то вроде этого. Ваша строка находится в 2-м получении
(^|\s)+(.{3})($|\s)+
<час> Объяснение
/(^| )(.{3})($| )/g
1-я Группа фиксации Capturing group (^|\s)+
Квантор: +
Между одним и неограниченными временами, максимально много раз, отдавая по мере необходимости [жадный]
1-я Альтернатива: ^
^
утверждают положение в начале строки литий> ул.> литий> <литий> 2-я Альтернатива: \s
\s
соответствие любой пробельный символ [\r\n\t\f ]
литий> ул.> литий> ул.> 2-я Группа фиксации (.{3})
.{3}
соответствия любой символ (кроме новой строки)
Квантор: {3}
Точно 3 раза
3-я Группа фиксации ($| )+
Квантор: +
Между одним и неограниченными временами, максимально много раз, отдавая по мере необходимости [жадный]
1-я Альтернатива: $
$
утверждают положение в конце строки
2-я Альтернатива: \s
\s
соответствие любой пробельный символ [\r\n\t\f ]
литий> ул.> литий> ул.> g
модификатор: глобальный. Все соответствия (не возвращаются на первом соответствии)
После (черная магия) пример в Perl для извлечения всех подстрок 3 букв
perl -ne 'while(/(\w)(?=(\w\w))/g){print "$1$2\n" }'