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

发布于 2024-07-27 02:57:24 字数 134 浏览 4 评论 0原文

我需要从类似这样的文本中提取 YouTube 链接:

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

有人可以帮忙吗?

I need to lift the YouTube link from some text which looks like this:

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

Can anyone help?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

撩发小公举 2024-08-03 02:57:24

尝试这样的事情:

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

Try something like this:

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

淡莣 2024-08-03 02:57:24

你可以使用awk。

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

为了让它更清楚,它分为两部分,因为 awk 很奇怪。 如果您只想要 URL 而不是 youtube= 首先,那么您需要运行带有文件分隔符的 awk,例如 FS="youtube="。 awk 的输入也可能很奇怪; 如果 file_with_text 在第一行有文本,它可能会表现得很奇怪,如果文件以您选择的文件分隔符结尾,那么 awk 可能会出错(只需将 FS 符号以外的任何文本添加到文件末尾)。

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

You could use awk.

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

It is in two parts to make it clearer and because awk is strange like that. If you want just the URL and not the youtube= first then you will need to run an awk with the file separator like FS="youtube=". Also awk can be strange with the input; if file_with_text has text on the first line it may act strange and if the file ends with the file separator you chose then awk may error (just add any text other than the FS symbol to the end of the file).

Edit: Removed the cat function. Seems less clear as a pedagogical answer, but it is more concise.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文