标签: regex bash
我想要这样的名字:
abc-dirk-alt.avi
,我只想要-(dirk)之间的部分 普通的正则表达式是-(.*?)-,但我不知道如何在bash脚本中编写它。 我该怎么办?
-(.*?)-
答案 0 :(得分:3)
您可以使用-([^-]*)-正则表达式([^-]*匹配零个或多个-以外的字符)来避免使用惰性量词,并在{找到匹配项:
-([^-]*)-
[^-]*
-
${BASH_REMATCH[1]}
请参见online Bash demo。