#regex
Вопрос:
я хочу извлечь слово после 2-го и 3-го подчеркивания ( _
) или слово между 2-м подчеркиванием и пробелом.
мои примерные данные будут:
COL_POS_CJMA_CA_03.09.17
COL_DPU_CJER_CK_03.08.17
COL_POS_CJNE CA_03.09.2017
COL_DPU_CJEK CK_03.08.2017
мои результаты должны быть:
CJMA
CJER
CJNE
CJEK
У меня уже есть это _[^_]*_([^_]*)_
И я мог бы извлечь первые два результата.
Если бы кто-нибудь мог помочь мне извлечь 3-й и 4-й результаты
Регулярное выражение, в котором говорится между 3-м подчеркиванием или пробелом
Ответ №1:
Вы могли бы пойти на
^(?:[^_] _){2}([^_ ] )
Смотрите демонстрацию на regex101.com.
Сломанный, это говорит:
^ # beginning of string
(?: # non-capturing group
[^_] # not _, at least once
_ # _
){2} # repeat the group twice
([^_ ] ) # capture characters not _ or spaces to group 1
… или разделите _
и проанализируйте результат как массив, result[2]
т. е.
Комментарии:
1. мне нужно извлечь даты из каждых данных.
2. @Amethyst пожалуйста, удалите свои комментарии, которые говорят «спасибо» или не относятся к этому ответу. Пожалуйста, прочитайте правила и рекомендации SO, чтобы вы знали, как вести себя в SO.