正则表达式以获取方括号之间的链接

时间:2009-07-07 01:20:22

标签: regex hyperlink square-bracket

我需要从一些看起来像这样的文字中取消YouTube链接:

[youtube=http://www.youtube.com/v/qpbAe2HyzqA&hl=en&fs=1&]

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:2)

尝试这样的事情:

  

\[youtube=(https?://[^\]]+)\]

答案 1 :(得分:0)

你可以使用awk。

awk ' FS="[" {print $(NF) } ' file_with_text > temp.txt
awk ' FS="]" {print $(NF-1)} ' temp.txt > results.txt

有两个部分可以让它更清晰,因为awk很奇怪。如果您只想要URL而不是youtube = first,那么您将需要使用文件分隔符运行awk,如FS =“youtube =”。 awk也很奇怪输入;如果file_with_text在第一行有文本,它可能会很奇怪,如果文件以您选择的文件分隔符结束,那么awk可能会出错(只需将FS符号以外的任何文本添加到文件末尾)。

编辑:删除了cat功能。作为教学答案似乎不太清楚,但它更简洁。