Regex: сопоставить слова с подчеркиванием и id - PullRequest
0 голосов
/ 25 марта 2020

Я пытаюсь разобрать уникальные идентификаторы, которые включают слово с подчеркиванием и некоторое число после этого символа. Как написать правильное регулярное выражение, чтобы найти все слова с помощью:

  1. Строчные условия по заданным c словам в первой части перед символом подчеркивания "_"
  2. После символа подчеркивания "_" целевая строка содержит числа

Правильные совпадения: "word_1", "word_12312312", "word_3"

Неверные совпадения: "WoRd_1", "word_", "word" , "слово_слово", "слово-123"

Ответы [ 2 ]

1 голос
/ 25 марта 2020

очень легко представить, что у вас есть такие данные:

tea
tea_23
tea_2132312
word_434324
words_21323
coffee_110
water_313
teapot_2321321
woRd_2213rrr

теперь, как вы сказали, вы хотите word в режиме нижнего регистра через _, так что вы можете написать так:

[a-z]+_\d+$

, например, в bash:

cat file.txt | grep --color -P '[a-z]+_\d+$'

, или вы также можете сделать это для определенных c данных, например, tea, coffee , water

так что вы можете написать так

(tea|coffee|water)_\d+$

0 голосов
/ 25 марта 2020

Это сделает работу

\b[a-z]+_\d+\b

Демо

\b[a-z]+_\d+\b

Замените [a-z]+ на tea, чтобы соответствовать только этому слову или (teapot|pot|fork) чтобы соответствовать этим 3 словам

Демо

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