Regex 在正则表达式中打印某些部分?
例如,一个文件包含多个字符串,其中一些字符串如下所示:Regex 在正则表达式中打印某些部分?,regex,bash,Regex,Bash,例如,一个文件包含多个字符串,其中一些字符串如下所示: --EX“ABCDEFG” 我创建了以下正则表达式以查看行是否匹配: ^--EX\\\“*\”$ 我现在的问题是,我是否可以提取*的内容,以便只获取ABCDEFG? 正则表达式适用于此吗?在要获取的零件周围加上括号 ^--EX\ \"(.*)\"$ 然后,无论您的代码是什么,它都将是match 1,大多数regex实现都暗示match 0是完全匹配,match 1将是第一组括号,依此类推。将括号放在您想要得到的部分周围 ^--EX\ \"
--EX“ABCDEFG”
我创建了以下正则表达式以查看行是否匹配:^--EX\\\“*\”$
我现在的问题是,我是否可以提取
*
的内容,以便只获取ABCDEFG
?
正则表达式适用于此吗?在要获取的零件周围加上括号
^--EX\ \"(.*)\"$
然后,无论您的代码是什么,它都将是match 1,大多数regex实现都暗示match 0是完全匹配,match 1将是第一组括号,依此类推。将括号放在您想要得到的部分周围
^--EX\ \"(.*)\"$
然后,无论您的代码是什么,它都将是match 1,大多数regex实现都暗示match 0是完全匹配,match 1将是第一组括号,依此类推。您可以通过sed获得它:
$ echo "--EX "ABCDEFG"" | sed 's/^--EX \(.*\)$/\1/'
ABCDEFG
您可以通过sed获得:
$ echo "--EX "ABCDEFG"" | sed 's/^--EX \(.*\)$/\1/'
ABCDEFG
在命令行中,您必须准确地输入命令,如下所示:
sed -e "s/^--EX \"\(.*\)\"$/\\1/g" filename
在命令行中,您必须准确地输入命令,如下所示:
sed -e "s/^--EX \"\(.*\)\"$/\\1/g" filename
如果使用单引号,可以避免一些转义:
的/^--EX“\(.*\)”$/\1/g'
如果使用单引号,可以避免一些转义:的/^--EX“\(.\)”$/\1/g'