相关疑难解决方法(0)

如何使用正则表达式提取正文内容

我在var中有这个代码.

<html>

    <head>
        .
        .
        anything
        .
        .
    </head>

    <body anything="">
        content
    </body>

</html>
Run Code Online (Sandbox Code Playgroud)

要么

<html>

    <head>
        .
        .
        anything
        .
        .
    </head>

    <body>
        content
    </body>

</html>
Run Code Online (Sandbox Code Playgroud)

结果应该是

content
Run Code Online (Sandbox Code Playgroud)

html javascript regex

6
推荐指数
2
解决办法
2万
查看次数

使用HTML标记从QString获取纯文本

我有带有html标签的QString.为什么我可以从这个字符串中获得纯文本?

html qstring qt

6
推荐指数
2
解决办法
9853
查看次数

解析HTML的最佳正则表达式是什么(即使你不应该)?有一个完美的吗?

好吧,我们都知道尝试使用Regex解析HTML 会带来Cthulhu的愤怒.很好.对于为什么不应该这样做,有一些很好的回应.我接受这些,并且不止一次在问题上发布这些链接.

但是让我们把这个问题放在以下范围内:除了Regex之外,我们没有解析HTML的选项.为什么?没关系. 但是,假设我们的开发者目前想要失去他们对Tony the Pony的想法,并尽可能地做出不可能的事情.如果这让你大吃一惊,那么假设这个问题是理论性的.无论什么漂浮你的船.只考虑用正则表达式解析HTML的想法,即使你不应该.

在这里,我们看到一种声称,它是不可能做到的,至少是完美的.但是@NikiC下面有一个非常明智的评论:

这个答案从错误的参数中得出了正确的结论("用正则表达式解析HTML"这是一个坏主意)("因为HTML不是常规语言").大多数人现在所说的"正则表达式"(PCRE)不仅可以解析无上下文的语法(实际上是微不足道的),而且能够解决上下文敏感的语法(参见https://stackoverflow.com/) a/7434814/1222420)

事实是,即使相当冗长,你也可以使用现代正则表达式来做一些非常强大的事情.但是很多人认为这个问题听起来像是停机问题:你可以尝试,但总会有另一种情况,你的解决方案会破坏.

所以这就是问题,而且它有点像两个部分.

  • 是否有可能为解析HTML生成一个完美的正则表达式?
    • 如果是这样,证明是否具有建设性?我们只知道我们可以,或者已经完成了吗?
  • 如果不可能,那么最准确的是什么?

html regex theory html-parsing

6
推荐指数
1
解决办法
586
查看次数

忽略正则表达式匹配中的第一个字符

我需要忽略>我的正则表达式.

我的正则表达式:

/(>(.+)(?=<\/a>))/igm
Run Code Online (Sandbox Code Playgroud)

匹配以下内容:

在此输入图像描述

我如何告诉它>在开始时忽略它?

是regexr.com上的正则表达式.

javascript regex

6
推荐指数
2
解决办法
2万
查看次数

正则表达式.只获取标签的文本内容(没有内部标签)

我有html代码的字符串.

<h2 class="some-class"> 
   <a href="#link" class="link" id="first-link"
      <span class="bold">link</span>
   </a>
   NEED TO GET THIS
</h2>
Run Code Online (Sandbox Code Playgroud)

我只需要获得h2的文本内容.我创建这个正则表达式:

(?<=>)(.*)(?=<\/h2>)
Run Code Online (Sandbox Code Playgroud)

但是如果h2没有内部标签,它会很有用.否则我得到这个:

   <a href="#link" class="link" id="first-link"
      <span class="bold">link</span>
   </a>
   NEED TO GET THIS
Run Code Online (Sandbox Code Playgroud)

html javascript regex

6
推荐指数
1
解决办法
1685
查看次数

如何使用python删除<script>和</ script>之间的文本?

如何删除<script></script>使用python 之间的文本?

javascript python

5
推荐指数
3
解决办法
8971
查看次数

解析URL的网站

只是想知道是否有人可以通过以下方式进一步帮助我.我想解析这个网站上的URL:http://www.directorycritic.com/free-directory-list.html?pg = 1&sort = pr

我有以下代码:

<?PHP  
$url = "http://www.directorycritic.com/free-directory-list.html?pg=1&sort=pr";
$input = @file_get_contents($url) or die("Could not access file: $url"); 
$regexp = "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<\/a>"; 
if(preg_match_all("/$regexp/siU", $input, $matches)) { 
// $matches[2] = array of link addresses 
// $matches[3] = array of link text - including HTML code
} 
?>
Run Code Online (Sandbox Code Playgroud)

目前没有做什么,我需要做的是废弃所有16页的表中的所有URL,并且非常感谢一些帮助,如何修改上述内容并将URL输出到文本文件中.

html php parsing html-parsing

5
推荐指数
1
解决办法
6452
查看次数

如何使用readLines和grep在R中构建webscraper?

我是R的新手.我想编写一份100万字的报纸文章.所以我想写一个网络刮刀从例如监护人的网站上检索报纸上的文章:http://www.guardian.co.uk/politics/2011/oct/31/nick-clegg-investment-new-jobs.

刮刀用于从一页开始,检索文章的正文,删除所有标签并将其保存到文本文件中.然后它应该通过本页面上的链接转到下一篇文章,获取文章等,直到该文件包含大约100万字.

不幸的是,我的刮刀并没有走得太远.

我使用readLines()来访问网站的源代码,现在想要获取代码中的相关行.

Guardian中的相关部分使用此ID来标记文章的正文:

<div id="article-body-blocks">         
  <p>
    <a href="http://www.guardian.co.uk/politics/boris"
       title="More from guardian.co.uk on Boris Johnson">Boris Johnson</a>,
       the...a different approach."
  </p>
</div>
Run Code Online (Sandbox Code Playgroud)

我尝试使用grep和lookbehind的各种表达式来掌握这一部分 - 尝试获取此ID后面的行 - 但我认为它不适用于多行.至少我不能让它发挥作用.

有人可以帮忙吗?如果有人可以提供一些我可以继续工作的代码,那将是很棒的!

谢谢.

r web-scraping

5
推荐指数
1
解决办法
4050
查看次数

使用 JavaScript 解析 html 标签

我想获取存储在标签中的数字,例如
var x="<a>1234</a>";使用 JavaScript。如何解析此标签以提取数字?

javascript

5
推荐指数
1
解决办法
783
查看次数

在Powershell中使用Regex来抓取电子邮件

我编写了一个脚本来抓取HTML文件中的不同字段,并使用结果填充变量.我正在使用正则表达式来抓取电子邮件.以下是一些示例代码:

$txt='<p class=FillText><a name="InternetMail_P3"></a>First.Last@company-name.com</p>'

$re='.*?'+'([\\w-+]+(?:\\.[\\w-+]+)*@(?:[\\w-]+\\.)+[a-zA-Z]{2,7})'

if ($txt -match $re)
{
    $email1=$matches[1]
    write-host "$email1"
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Bad argument to operator '-match': parsing ".*?([\\w-+]+(?:\\.[\\w-+]+)*@(?:[\\w-]+\\
.)+[a-zA-Z]{2,7})([\\w-+]+(?:\\.[\\w-+]+)*@(?:[\\w-]+\\.)+[a-zA-Z]{2,7})" - [x-y] range in reverse order..
At line:7 char:16
+ if ($txt -match <<<<  $re)
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : BadOperatorArgument
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?此外,是否有更好的电子邮件正则表达式?

提前致谢.

regex email powershell

4
推荐指数
1
解决办法
8181
查看次数

标签 统计

html ×5

javascript ×5

regex ×5

html-parsing ×2

email ×1

parsing ×1

php ×1

powershell ×1

python ×1

qstring ×1

qt ×1

r ×1

theory ×1

web-scraping ×1