相关疑难解决方法(0)

开始使用正则表达式

每当我看到任何正则表达式时,我总是害怕.我觉得很难理解.但恐惧不是解决方案.我决定开始学习正则表达式,所以有人可以告诉我如何才能开始吗?如果有任何简单的教程?

regex

10
推荐指数
1
解决办法
1581
查看次数

删除脚本和样式标记中的所有内容

我有一个名为变量的变量$articleText,它包含html代码.有scriptstyle内码<script><style>HTML元素.我想扫描$articleText并删除这些代码.如果我还可以删除实际的HTML元素<script>,</script>,<style></style>,我会做到这一点.

我想我需要使用正则表达式,但我不熟练.

有人可以帮忙吗?

我希望我能提供一些代码,但就像我说我不熟练的正则表达式,所以我没有任何东西可以显示.

我不能使用DOM.我需要专门针对这些特定标签使用正则表达式

html javascript php regex jquery

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

HTML解析器如何工作?

我已经看过幽默的线程并阅读警告,我知道你不用正则表达式解析HTML.别担心...... 我不打算尝试它.

但是......这让我想问:HTML解析器是如何编码的(包括编程语言的内置函数,如DOM解析器和PHP的strip_tags)?他们使用什么机制来解析(有时是格式错误的)标记?

我找到了一个用JavaScript编码,它实际上使用正则表达式来完成这项工作:

// Regular Expressions for parsing tags and attributes
var startTag = /^<(\w+)((?:\s+\w+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/,
    endTag = /^<\/(\w+)[^>]*>/,
    attr = /(\w+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g;  
Run Code Online (Sandbox Code Playgroud)

他们都这样做吗?是否有一种传统的标准方法来编写HTML解析器?

regex html-parsing

8
推荐指数
1
解决办法
866
查看次数

正则表达式和HTML不混合的根本原因是什么?它背后的理论?

首先,我不能做任何事情,只能参考我认为最有名的SO帖子:

除了XHTML自包含标记之外,RegEx匹配开放标记

现在,它甚至是StackOverflow的问题吗?我不知道,但我会试试......

我会从个人的角度讲.虽然我从来没有这样做,但我知道在我必须解析HTML的那一天,我肯定不会使用正则表达式; 我将尝试找到一个HTML解析库.精细.

但我不知道为什么.

有一次,我决定用Java进行CSS验证.我知道"通过胆量",正则表达式不会削减它,所以我使用了Parboiled.

我不知道为什么.

"为什么"让我烦恼.我根本不是正念法的新手.我只是不能在正则表达式引擎之间划清界限,也不能做.

我的问题如下:这条线是什么?必须存在输入的基本特征,以便在数学上证明任何正则表达式引擎都无法可靠地确定成功和失败?

你能给出一个简单的理论输入,这个输入会使正则表达式引擎能够提供可靠的"匹配/不匹配"答案吗?如果是,这种输入的定义特征是什么?

编辑为了这个讨论,我将添加一个帖子在SO上建议的任务(我现在找不到链接,抱歉)这比HTML简单,但我不会使用正则表达式:shell命令行解析.

就shell而言,这些是等价的:

alias ll="ls -l"
alias ll=ls\ -l
alias l"l"=ls' -'l
"alia"s l"l= "ls\ -l
Run Code Online (Sandbox Code Playgroud)

Shell引用机制如此众多,以至于我只会在这种情况下创建一个Parboiled语法......但这是"出于我的勇气".因为我觉得它可能更容易......但这并不能证明这对正则表达式来说是不可行的.

html regex parsing pattern-matching

8
推荐指数
1
解决办法
228
查看次数

正则表达式匹配打开和关闭标记以及该标记内的某些文本模式

以下是我从sitemap.xml获取的示例自定义标记

<url>
  <loc>http://sitename.com/programming/php/?C=D;O=A</loc>
  <changefreq>weekly</changefreq>
  <priority>0.64</priority>
</url>
Run Code Online (Sandbox Code Playgroud)

有很多像这样的条目,如果你看到loc标签,它有c = d; 0 = a在最后.我想删除所有以<url>结尾开头的条目,</url>其中包含C = D; 0 = A或类似的模式.

以下表达式与上面指定的整个标记匹配

<url>(.|\r\n)*?<\/url>
Run Code Online (Sandbox Code Playgroud)

但我希望像上面声明中指定的那样匹配.

我们如何形成正则表达式来匹配这些条件(模式)?

regex xml

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

是否有替代PHP的strip_tags()

strip_tags()文件告诉我们,除了在第二个参数所有的标签被剥离.此函数执行的操作与其名称完全相反.应该已经命名了strip_all_tags_except().

让我们忘记这个名字,然后谈谈我想问的问题.我想要只删除我在第二个参数中提到的标签的功能.即.我希望以下内容删除标签<iframe><script><style><embed><object>并允许所有其他标签.

my_strip_tags($data,'<iframe><script><style><embed><object>');
Run Code Online (Sandbox Code Playgroud)

这与什么相反strip_tags().

我该如何实现这一目标?

php

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

构建基于正则表达式的解析器

构建基于正则表达式的解析器是愚蠢的吗?

regex parsing

5
推荐指数
2
解决办法
5385
查看次数

Python:在元组中存储许多正则表达式匹配?

我正在尝试使用正则表达式制作一个简单的基于 Python 的 HTML 解析器。我的问题是试图让我的正则表达式搜索查询找到所有可能的匹配项,然后将它们存储在一个元组中。

假设我有一个页面,变量中存储了以下内容HTMLtext

<ul>
<li class="active"><b><a href="/blog/home">Back to the index</a></b></li>
<li><b><a href="/blog/about">About Me!</a></b></li>
<li><b><a href="/blog/music">Audio Production</a></b></li>
<li><b><a href="/blog/photos">Gallery</a></b></li>
<li><b><a href="/blog/stuff">Misc</a></b></li>
<li><b><a href="/blog/contact">Shoot me an email</a></b></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我想对这个文本执行正则表达式搜索并返回一个包含每个链接的最后一个 URL 目录的元组。所以,我想返回这样的东西:

pages = ["home", "about", "music", "photos", "stuff", "contact"]
Run Code Online (Sandbox Code Playgroud)

到目前为止,我可以使用正则表达式来搜索一个结果:

pages = [re.compile('<a href="/blog/(.*)">').search(HTMLtext).group(1)]
Run Code Online (Sandbox Code Playgroud)

运行此表达式使pages = ['home'].

如何让正则表达式搜索继续整个文本,将匹配的文本附加到这个元组?

(注意:我知道我可能不应该使用正则表达式来解析 HTML。但无论如何我想知道如何做到这一点。)

html python regex parsing

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

正则表达式获取span标记

我可以知道匹配html标签Test的正则表达式规则是什么

与标签SPAN匹配,无论其中的属性如何.

我现有的规则是这样,但不起作用.

/(<span [^>]*>)>/s
Run Code Online (Sandbox Code Playgroud)

谢谢.

regex

5
推荐指数
2
解决办法
7298
查看次数

PHP Dom文件html更快还是preg_match_all函数更快?

我怀疑哪一个处理速度更快?

使用curl函数的dom文件或preg_match_all在html页面解析中更快?将dom文件功能留在其他服务器上如curl函数吗?例如,在curl函数中,我们使用用户代理来定义谁正在访问,但在dom文档中没有任何内容.

php dom

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

标签 统计

regex ×8

html ×3

parsing ×3

php ×3

dom ×1

html-parsing ×1

javascript ×1

jquery ×1

pattern-matching ×1

python ×1

xml ×1