Regex 仅打印可执行文件而非完整路径的正则表达式

Regex 仅打印可执行文件而非完整路径的正则表达式,regex,text,expression,textwrangler,Regex,Text,Expression,Textwrangler,我有一组键/值对,使用完全限定名列出可执行文件,如下所示: ["exec"] = "/share/home/00288/tg455591/NAMD_2.8b3/NAMD_2.8b3_Linux-x86_64-MVAPICH-Intel-Ranger/namd2", 但是,我想取出目录位置,只打印可执行文件,例如: ["exec"] = "namd2", 如何构造正则表达式来进行此更改?请记住,文件中的所有可执行文件都是不同的,但它们具有相似的格式。文件大小约为6000行。提前感谢。如

我有一组键/值对,使用完全限定名列出可执行文件,如下所示:

  ["exec"] = "/share/home/00288/tg455591/NAMD_2.8b3/NAMD_2.8b3_Linux-x86_64-MVAPICH-Intel-Ranger/namd2",
但是,我想取出目录位置,只打印可执行文件,例如:

  ["exec"] = "namd2",

如何构造正则表达式来进行此更改?请记住,文件中的所有可执行文件都是不同的,但它们具有相似的格式。文件大小约为6000行。提前感谢。

如果我正确理解了问题,此
sed
命令将实现以下功能:

sed 's|= .*/|= "|'
(?<=\["exec"\] = ").+?(?=[^/]+?(?:\.\w+)?")

此正则表达式实现了以下目的:

sed 's|= .*/|= "|'
(?<=\["exec"\] = ").+?(?=[^/]+?(?:\.\w+)?")
请尝试以下内容以查找:

(?<="exec"] = ")[^"]*?/([^/"]+)(?=")

(或$1)

我认为
[^/]*$
会匹配它,但这取决于正则表达式的风格。你在用什么工具?为什么需要正则表达式?为什么不在
/
上拆分呢?我在TextWrangler应用程序中使用grep。我不在/上拆分,因为/的行数不同。为了澄清,您只需要
“/share/home/00288/tg455591/NAMD_2.8b3/NAMD_2.8b3\u Linux-x86_64-MVAPICH-Intel-Ranger/namd2”
来匹配
namd2,不是吗?您是否也必须匹配键
[“exec”]
?sed的|=.*/|=“\'lariatData-sgeT-2012-05-01\u 2.lua sed:1:“s |=.*/|=”\”:在尝试sed时,正则表达式中的未终止替换是错误command@amber4478:它是
“|”
,而不是
“\”