2015-10-04 41 views
-1

我正在尝试使用Google Regex Scraper扩展程序来从Web上刮取Yelp中的一些项目!网站。试图使用此正则表达式来匹配美国街道地址而不解析。 对不起,以前的混乱为什么这些RegExes不会抓取整个单词/字符串?

6805 Vista的德尔马LN

1320ê200秒

\<span\sitemprop\=\"streetAddress\"\>\"?(\d{1,5}\s[NEWS]?\s?\w*\s\w*\s?\w*?\s?\w*?\"?)\<?b?r?\>?\"?\w+?\s?\w+?\"?\<\/span\> 

帮助的人?

+0

。像这样的正则表达式不容易做,而且总是很难理解。 –

+0

您的正则表达式表明您正在解析HTML,但您的示例字符串没有HTML。你在使用什么语言,你看过解析器吗? – chris85

+0

[你无法用正则表达式解析html](http://stackoverflow.com/a/1732454/4342498) – NathanOliver

回答

0

你的“问题”是缺乏大量的信息,但是从我收集要通过一个可选的<br>,然后你的东西不感兴趣可选"绕过它,跟着读<span>标签上的地址..你的RE似乎过于复杂,除非涉及到一些语法检查(在问题中没有提到)。 如何:

<span\b.*?>"?(\d{1,5}.*?)"?(?:<br>|<\/span>) 

它保持唯一明显的语法检查你有,即街道号码存在,1至5位,但节选了,抓住一切都交给无论是<br></span>,不含周边引号。你对North,East的测试并没有真正做到。所有其他的“斩断”RE都超出了我的理解。

但是,正如评论所说,使用HTML解析器来提取您想要解释的文本。

不管怎么说,给它一个尝试;)

问候

我建议不要使用正则表达式解析HTML,而是用一个实际的解析器,而不是
相关问题