-1

所以我找到了这些与任务相关的链接。第一次 使用 python,第二次使用 c#,第三次使用 Perl

现在我对 Perl 太陌生了,我想做的是使用来自 twitter 的一些 json 流。我正在看的是这个:

..E","location":"Hollywood, Los Angeles, CA ","screen_name":"i..

如何找到“位置”:使用正则表达式,然后分配一个变量以包含好莱坞、洛杉矶、加利福尼亚州

sub get_location {
# pseudo code:  
# look for "location":"xxxxxxxxxxxxxxxx" 
# assign $tmp_loc = Hollywood, Los Angeles, CA (in this case)
# return $tmp_loc; }
4

4 回答 4

8

Perl 有处理 JSON 的库。为什么不使用其中之一?

或者,当您处理 Twitter 时,为什么不使用Net::Twitter进行 Twitter API 调用并将结果作为 Perl 数据结构返回给您。

这些天来,很多 Perl 编程都需要知道哪些CPAN 模块应该串在一起。如果您不使用 CPAN,那么您将错过很多 Perl 的强大功能。

于 2010-11-08T08:35:46.707 回答
3

您真的不应该在需要在字符串中查找某些内容的任何地方使用正则表达式......它们有其目的,但不是在这里。

如果您有一个 JSON 编码的字符串,只需对其进行解码。我没有使用 Perl 的经验,但我看到其他人建议使用CPAN中的模块。

于 2010-11-08T07:57:58.440 回答
3

珀尔 JSON

于 2010-11-08T07:57:00.163 回答
0

首先,您需要一个与您要捕获的文本匹配的正则表达式。既然你只放了一个片段,我也只会放一个片段。

$text = ' ..E","location":"Hollywood, Los Angeles, CA ","screen_name":"i..';
if( $text =~ /.*location":"(.[^"]+)",.*/ ) {
  $tmp_loc = $1;
}
return $tmp_loc;
于 2010-11-08T07:56:13.113 回答