POSIX регулярное выражение для поиска всего между wordX и wordY - PullRequest
1 голос
/ 25 апреля 2010

У меня есть строка как:

FOO /some/%string-in.here BAR

Я хотел бы получить все между FOO и BAR, но НЕ включая FOO[:space:] и НЕ включая [:space:]BAR

Любые идеи, это будет оценено.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2010

Чтобы получить все между FOO и BAR, кроме пробелов после FOO или перед BAR, используйте это регулярное выражение для POSIX ERE:

FOO[[:space:]]*(.*)[[:space:]]*BAR

или для POSIX BRE:

FOO[[:space:]]*\(.*\)[[:space:]]*BAR

Поскольку POSIX поддерживает только жадные квантификаторы, это регулярное выражение фиксирует все между FOO и последним появлением BAR, если имеется более одного BAR.

0 голосов
/ 25 апреля 2010

Разве вы не можете просто использовать группу захвата?

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