例如,文件中包含多个字符串,其中一些看起来像这样:
--EX "ABCDEFG"
在正则表达式中打印某些部分?
我创建了下面的正则表达式,看看行匹配:
^--EX\ \".*\"$
我的问题是,现在,我可以采用某种提取.*
的内容才能得到ABCDEFG
? 正则表达式适合这个吗?
例如,文件中包含多个字符串,其中一些看起来像这样:
--EX "ABCDEFG"
在正则表达式中打印某些部分?
我创建了下面的正则表达式,看看行匹配:
^--EX\ \".*\"$
我的问题是,现在,我可以采用某种提取.*
的内容才能得到ABCDEFG
? 正则表达式适合这个吗?
将圆括号放在你想要的部分的周围。
^--EX\ \"(.*)\"$
然后在任何你的代码,这将是比赛1,正则表达式的大多数实现意味着匹配0是全场比赛,和比赛1将是第一组括号,等等。
您可以通过sed的得到它:
$ echo "--EX "ABCDEFG"" | sed 's/^--EX \(.*\)$/\1/'
ABCDEFG
在命令行中,您必须准确输入您的命令,如下所示:
sed -e "s/^--EX \"\(.*\)\"$/\\1/g" filename
如果使用单引号,你能避免你的一些逃逸的:''s/^ - EX“\(。* \)”$/\ 1/g'' –