作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我遇到的一个奇怪的问题(可能以前见过但从未注意过)。
这是代码的要点:
my $url = 'http://twitter.com/' . $handle;
my $page = get($url);
if($page =~ m/Web<\/span>\s*<a href=\"(.+?)\"/gi) {
$website = $1;
}
if($page =~ m/follower_count\" class=\"stats_count numeric\">(.+?)\s*</g) {
$num_followers = $1;
}
最佳答案
/g
在标量上下文中,修饰符不会做您认为它会做的事情。摆脱它。
如 perlretut解释说,/g
在标量上下文中依次循环每个匹配项。它设计用于循环,如下所示:
while ($str =~ /pattern/g) {
# match on each occurence of 'pattern' in $str in turn
}
/g
在列表上下文中:
my @results = $str =~ /pattern/g; # collect each occurence of 'pattern' within $str into @results
/g
在标量上下文中并且您没有迭代它,您几乎肯定没有正确使用它。
关于regex - 如何让正则表达式从字符串的开头开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4587539/
我是一名优秀的程序员,十分优秀!