如何在正则表达式中的部分之间获取字符串?

如何在正则表达式中的部分之间获取字符串?

我需要帮助获取正则表达式来获取 () 之间的字符串

Use your email ([email protected]) to login.

我需要一个正则表达式来发送邮件。我似乎做不到。是因为 ( ) 吗?

答案1

根据你为其编写正则表达式的程序,你必须使用适当的转义。例如,使用 sed:

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

在这种情况下,反斜杠会将其后的括号转义为元字符,将其之间的匹配字符串提取到元变量中,\1而前面没有反斜杠的括号将按字面意思匹配。

相关内容