在某个字符后找到一个字符串

时间:2017-12-03 11:15:34

标签: regex

一个例子可以更好地解释它:

structure_1/structure_2/<I NEED WHAT'S HERE/structure_3
  • Structure_1始终是相同的值
  • Structure_2是一个字符串,可以是任何大小,有时使用_或 -
  • 我需要的是第二个正斜杠
  • 我不在乎
  • 之后发生的事情

其他例子:

order/shirt/blue_stripes/America
order/pants_ripped/green/Europe
order/skirts/yellow-folded/Asia
order/socks/orange/Africa

我希望在正则表达式之后成为

的结果
blue_stripes
pants_ripped
yellow-folded
orange

我正在为我的Unix机器编写BASH脚本

更新 我首先使用正则表达式来执行此操作但是 Flying 通知我最好使用命令&#39; awk&#39; 这样做了轻松诀窍!

1 个答案:

答案 0 :(得分:0)

这个可以解决问题:^(?:[^\/]+\/){2}([^\/]+)。你基本上需要跳过前两组字符。您可以自己查看here

UPDATE:因为,正如注释中所定义的,实际任务不是要找到正确的正则表达式,而是关于从Unix文件中获取信息 - 使用awk代替更好:

awk -F"/" '{print $3}' orders.txt