2012-11-05 52 views
1

我已经经历了几个小时的正则表达式教程,我似乎无法很好地理解它。我想要一个正则表达式语句,只有在标题特别长(超过1000个字符)时才会提取html标题。我已经设法做出以下选择整个标题:正则表达式混淆 - 特定长度的标题

<title>(.*?)</title> 

我不知道从哪里开始添加长度部分。任何援助将不胜感激!

+0

通常,正则表达式不是解析HTML的方式。请参阅http://htmlparsing.com以获取解释原因。这里有一个开始:如果你的'',文字和关闭''不在同一行?这是有效的HTML,但你的正则表达式不会找到它。 –

回答

6
<title>(.{1000,})</title> 

会这样做(除非标题包含换行符 - 在这种情况下,它取决于正则表达式引擎如何处理)。

这也假设您正在查看的字符串中只有一个<title>标记(这可能是HTML文件中的情况,所以您应该可以,因为一般警告说正则表达式是一个易碎工具处理HTML)。

+0

你再次击败我:) –

+1

你可能会考虑添加“点匹配换行符”开关(?s)' – Bohemian

+0

@波希米亚语:由于该开关在JavaScript中不可用,例如,我在回答中写道OP需要告诉我们使用的正则表达式引擎。 –