例如,一个文件包含多个字符串,其中一些字符串如下所示:
--EX "ABCDEFG"
我创建了以下正则表达式以查看该行是否匹配:
^--EX\ \".*\"$
我现在的问题是,我可以以某种方式提取.*
的内容以获得ABCDEFG
吗?
正则表达式是否适用于此?
答案 0 :(得分:2)
在您想要获得的部分周围加上括号。
^--EX\ \"(.*)\"$
然后在你的代码中,它将匹配1,正则表达式的大多数实现意味着匹配0是完全匹配,匹配1将是第一组括号,依此类推。
答案 1 :(得分:1)
你可以通过sed获得它:
$ echo "--EX "ABCDEFG"" | sed 's/^--EX \(.*\)$/\1/'
ABCDEFG
答案 2 :(得分:1)
在命令行中,您必须精确输入命令,如下所示:
sed -e "s/^--EX \"\(.*\)\"$/\\1/g" filename