как использовать шаблоны регулярных выражений, чтобы разделить предложение в этом шаблоне - PullRequest
0 голосов
/ 17 мая 2019
"${agentName} commented on your post of  a ${restaurantName} : ${comment}"

Как я могу извлечь слово agentName, restaurantName, comment из предложения выше, используя шаблон регулярных выражений?

Я не задаю вам прямой вопрос без каких-либо знаний, которые я пыталсяне могу решить, поэтому я спросил таким образом, кстати, я новичок.

Ответы [ 2 ]

0 голосов
/ 17 мая 2019

Если ваша строка что-то вроде:

Патрик Стар прокомментировал ваш пост Krusty Krab: Я просто люблю Krabby Patty!Обязательно попробуйте!

, и ваш формат определяется как:

$ {agentName} прокомментировал ваше сообщение $ {restaurantName}: $ {comment}

Затем вы можете извлечь Patrick Star, Krusty Krab и I simply love the Krabby Patty! Must try! со следующим регулярным выражением:

(.+) commented on your post of a (.+) : (.+)

Демонстрация Debuggex


Объяснение:

  1. .+ означает любой символ (1 и более)
  2. () - это список захвата, содержащий часть регулярного выражения, такую ​​как .+,на основании индекса:

    • $ 0 даст вам имя агента
    • $ 1 даст вам имя ресторана
    • $ 2 даст вам комментарий
0 голосов
/ 17 мая 2019

Просто используйте шаблон \${[^}]+}

Объяснение:

\${ - соответствует ${ буквально

[^}]+ - отрицательный класс символов - соответствует всем, кроме }, один или несколько раз (из-за оператора +)

} - соответствует } буквально

Демо

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