Regex, чтобы получить слова между двумя _ - PullRequest
0 голосов
/ 17 января 2012

Я хотел бы регулярное выражение, которое будет возвращать слова между _

   word1_word2_word3_word4_word5

Я хочу, чтобы одно регулярное выражение вернуло слово 3, а другое - слово 4

У меня есть это регулярное выражение, которое _[^_]+_ начинается, но не работает

Ответы [ 2 ]

3 голосов
/ 17 января 2012

Разделение строки по "_" и простой доступ к чанкам с индексами 2 и 3 могут быть проще и делать то, что вы хотите.

0 голосов
/ 17 января 2012

Это регулярное выражение будет захватывать эти слова:

(?<(^|_))[^_]+(?=(_|$))

Он использует взгляд назад для _ или начало, и взгляд вперед для _ или конец.
К вашему сведению, взгляд сзади /авансы не потребляют, то есть "нулевая ширина".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...