Мне нужна помощь в получении выражения регулярного выражения, чтобы получить строку между ()

Use your email (test@gmail.com) to login.

Мне нужно выражение регулярного выражения, которое получило бы письмо. Я не могу этого сделать. Это из-за ()?

1 ответ1

0

В зависимости от программы, которую вы пишете, вы должны использовать соответствующее экранирование. Например, с помощью sed:

ts@xenon:~> echo 'Use your email (test@gmail.com) to login.' | sed -e 's/.*(\(.*\)).*/\1/'
test@gmail.com
ts@xenon:~>

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .