Получить первый персонаж с помощью Regex - PullRequest
0 голосов
/ 29 сентября 2019

Я использую регулярное выражение, пытаясь получить первый символ конкретного слова между (.*?)

About Sildenafil Citrate Phosphodiesterase-5 Enzyme Inhibitor

и регулярным выражением:

Citrate (.*?)Enzyme

Таким образом, я получаю совпадение Phosphodiesterase-5
Но мне нужно получить только первый символ P

Ответы [ 3 ]

1 голос
/ 29 сентября 2019

Вы можете использовать группу захвата для захвата одного непробельного символа (\S) и использовать границы слов \b:

\bCitrate (\S).*? Enzyme\b

Regex demo

0 голосов
/ 29 сентября 2019

Если ваша среда поддерживает обход, вы попробуйте этот шаблон

(?<=\bCitrate ).(?=.*?Enzyme\b)
  • (?<=\bCitrate ) - положительный взгляд сзади, совпадению должен предшествовать \bCitrate
  • . - совпадениечто-нибудь, ожидайте новую линию
  • (?=.*?Enzyme\b) - положительный прогноз, после матча должно следовать .*?Enzyme\b

Regex Demo

0 голосов
/ 29 сентября 2019

Изменение вашего регулярного выражения на Citrate (.).*?Enzyme будет достаточно.Это захватывает первый символ после "Цитрат".

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