perl中.*的模式匹配的问题

发布于 2022-10-03 08:03:17 字数 268 浏览 15 评论 0

$line = "i want to content with<jack@china.com>; jack,and tell him";
我要匹配到jack@china.com
这样写
$line =~ /.*with(\S+)>;.*/;
$email = $1;

对吗?好久不用了有点生疏,怕错喽
我是担心.*把一整行都匹配过去了。不知道.*到底是怎样的匹配机制
哪位给讲讲?谢啦!

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

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

发布评论

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

评论(6

肤浅与狂妄 2022-10-10 08:03:17

对不对试一下不就知道了?
问别人最起码也要说明你用的是什么东西啊。
shell?sed?awk?Perl?

披肩女神 2022-10-10 08:03:17

偶像,标题中说明了,perl

很快妥协 2022-10-10 08:03:17

不好意思,一着急忘说了,是perl
我试过是可以的(@需要特殊处理)。
只是我一直以来无法确认这样做是否没有问题,就是.*的问题
我不明白为什么.*没有把整行都匹配了

原帖由 "flw" 发表:
对不对试一下不就知道了?
问别人最起码也要说明你用的是什么东西啊。
shell?sed?awk?Perl?

明月松间行 2022-10-10 08:03:17

呵呵,刚才没说,后改的
[quote]原帖由 "风流涕淌"]偶像,标题中说明了,perl[/quote 发表:

我也只是我 2022-10-10 08:03:17

[quote]原帖由 "iloveora"]就是.*的问题,我不明白为什么.*没有把整行都匹配了[/quote 发表:

因为 Perl 要“尽最大努力让你的匹配成功”,所以 .* 不会匹配整行。

深白境迁sunset 2022-10-10 08:03:17

谢谢!版主这么晚还在?
我用上面方法匹配的是$email='jack.com'
那个@后面没有匹配上。怎么处理啊?

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