нуждаетесь в помощи с шаблоном для извлечения строки?

я испытываю затруднения, придумывающие надлежащее регулярное выражение для соответствия строке.

у меня есть эта строка

asdasa asdas asdhhgfh dfgdfdasa ttte aa1 asasda aa2

я пытаюсь использовать regex, но не могу суметь предоставить надлежащее регулярное выражение строкам совпадения 3 символа долго.

в настоящее время пытаясь настроить этого - ^. {2} $, но не получение, что ожидало, получая ошибку недостающего разделителя "^".

я также судил regex редактора онлайн, никакая справка все еще.

можно ли помочь?

1
задан 29 October 2015 в 12:39

2 ответа

Что-то вроде этого. Ваша строка находится в 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 модификатор: глобальный. Все соответствия (не возвращаются на первом соответствии)

5
ответ дан 3 December 2019 в 06:31

После (черная магия) пример в Perl для извлечения всех подстрок 3 букв

perl -ne 'while(/(\w)(?=(\w\w))/g){print "$1$2\n" }'
1
ответ дан 3 December 2019 в 06:31

Другие вопросы по тегам:

Похожие вопросы: