重复匹配 perl 表达式特定/多次?

发布于 2024-12-03 03:23:14 字数 367 浏览 1 评论 0原文

对于给定的字符串示例:我想编写一个表达式,该表达式将重复匹配前 5 个 <(?)> 标记,并将它们放入 $1、$2、$3、$4 和 $5 中。

天真的实现当然是: /<(?)><(?)><(?)><(?)><(?)>/
但当时我记得做了类似 /(<(?)>:5)/ 的事情。

我很难找到这个语法。
有人可以帮忙吗?

谢谢。

For the given string example: <a><b><c><d><e><f><g>
I'd like to write an expression that will repeatedly match the first 5 <(?)> tokens and put them in $1, $2, $3, $4 and $5.

The naive implementation would be of course: /<(?)><(?)><(?)><(?)><(?)>/

But back in the day I remember doing something like /(<(?)>:5)/ instead.

I'm having a hard time finding this syntax.

Can anyone help?

Thanks.

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

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

发布评论

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

评论(1

一念一轮回 2024-12-10 03:23:14
perl -wE '$_="<a><b><c><d><e><f><g>"; say /<(.)>/g;'

将给出所有匹配项。这只是获取切片的问题:

my @tokens = (/<(.)>/g)[0 .. 4];
perl -wE '$_="<a><b><c><d><e><f><g>"; say /<(.)>/g;'

Will give all the matches. It's just a matter of getting a slice:

my @tokens = (/<(.)>/g)[0 .. 4];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文