- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我一直在尝试批量删除 Wordpress 帖子中的垃圾链接,如下所示:
<a style="text-decoration: none" href="/price-of-xenical-at-pharmacy">.</a>
它们位于 post_content 列下的 wp_posts 表中。我试图通过在 href 标记中添加 % 的通配符来做到这一点,因为所有 URL 都不同,但 anchor (句号)和内联样式是相同的。
UPDATE wp_posts
SET post_content = REPLACE (post_content,
'<a style="text-decoration:none" href="%">.</a>',
'.');
后来有人告诉我,SQL 不支持我正在尝试做的事情(或者至少不支持我正在做的事情)。
我正在使用显然支持 REGEXP_REPLACE 的 MariaDB ,所以我正在寻找一些关于我需要什么 SQL 查询和正则表达式来大量删除这些链接但保持所有其他内容不变的指导。
非常感谢任何帮助,目的是删除上述字符串,或替换为空格
示例帖子内容,最后一个链接是我需要删除的类型。 :
<h2>Warranty</h2>
<span style="font-size: small"> </span>
<span style="font-size: small">Lorem ipsum dolor sit amet, non risus bibendum quis morbi, duis elit porttitor semper, ante augue at consectetuer elit lectus est, nascetur neque consequuntur donec turpis. Cursus ullamcorper posuere massa interdum, rhoncus blandit, vitae in etiam justo lectus eu fames. Dolor quam dicta wisi class duis. Eleifend sagittis, scelerisque convallis consectetuer sed non aptent. Velit tristique vulputate proin, ipsum diam aliquam. Nibh sit vitae et m</span>
<a href="https://www.example.com/wp-content/image.jpg"><img class="alignright size-full wp-image-56" title="image" src="https://www.example.com/wp-content/image.jpg" alt="image" width="280" height="280" /></a><a style="text-decoration: none" href="/price-of-xenical-at-pharmacy">.</a>
最佳答案
如果你想删除所有 anchor 标签,但保留标签中的文本,请尝试使用此模式:
<a[^>]*>(.*?)</a>
然后,仅替换为第一个捕获组。除了我们使用 (.*?)
来捕获 anchor 标记之间的内容之外,关于该模式没有太多要说的。 .*?
很重要,它告诉正则表达式引擎在第一个 结束标记处停止。否则,如果我们只使用 (.*)
,它可能会消耗多个 anchor 标记,如果它们存在于您的列中的话。
SELECT
REGEXP_REPLACE('<a style="text-decoration:none" href="[^"]*">BLAH</a>',
'<a[^>]*>(.*?)</a>', '$1');
上面的查询输出BLAH
。
如果你只想去掉所有的 anchor 标签,那么使用这个:
SELECT
REGEXP_REPLACE('<a style="text-decoration:none" href="[^"]*">BLAH</a>',
'<a[^>]*>(.*?)</a>', '');
关于mysql - REGEXP_REPLACE 指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55040851/
我对正则表达式有疑问。 我想搜索这样的文本 ' A ' - (space, BIG SINGLE CHAR and SPACE) SELECT regexp_replace(' A Text B Te
运行时: select regexp_replace('( (test :Name (x) :Table (y) )','\s+\:Name \(.*?\)',' avner '); 我得到: "(
在 postgres 中,我使用 regexp_replace 清理一些雅虎电子邮件地址。 SELECT regexp_replace(domain,'yahoo\.co[^\.].*','yahoo
我想知道是否有人可以帮助我了解如何使用 Hive 的 regexp_replace 函数来捕获正则表达式中的组并在替换字符串中使用这些组。 我有一个我正在解决的示例问题,涉及日期修改。在此示例中,我的
我想使用 regex_replace 将数字后的数据替换为 ''。 例如: 输入-->输出 MA0244891-D --> MA0244891 MA0244891 --> MA0244891 MA02
我有一个字符串如下 Welcome to the world of the Hackers 我正在尝试替换列出的字符串的出现,即 of,to,the在使用以下查询的整个字符串之间,但如果模式是连续的,
我已经阅读了 Oracle 关于 REGEXP_REPLACE 函数的文档,但它没有按预期工作 这是我得到的: 我的目标:为每组连续数字连接一个字符 我的输入: (1101 + 1102) * 110
我在 Oracle 11.2.0.3.0/Toad for Oracle 11.6.1.6 中使用以下查询: select regexp_replace('000010PARA197427'
我需要替换 key:value 对周围的方括号,类似于以下内容。任何帮助深表感谢! “属性”中的数据如下所示: name: property1 value: [12345667:97764458] *
我想将“Shri_”添加到客户表的 First_name 中,仅适用于开头没有“Mr_”的姓名。 customer表数据如下: 我正在使用下面的脚本,但没有用。 update customers se
我想从 PSU 12.1.0.2.170117 获取 12.1.0.2.170117。模式 ([\d|\.]+) 似乎工作正常:https://regex101.com/r/bDCF0w/1 但是,它
我有一个非常简单的代码: SELECT REGEXP_REPLACE('test_4444','test_([0-9]+)','ok\1'); 它应该导致 ok4444 但结果是 ok1 我缺少什么?
我有一个数据库,其中一列包含数字。 3 个示例值: 111111155522222225553333333555 我需要反转并在每个数字之间加一个点。即上述每个示例的结果将是: 5.5.5.1.1.1
我需要用两个特定符号(@ 和 &)之间的 % 替换所有空格;喜欢以下内容: 'this @ is test &that did not @turn& out well' 应转换为 'this @%
我有这样的字符串:aa/ss/[img]aa/ss/dd[/img][img]aa/ss/dd[/img]aa/ss 我需要将这段 /ss/ 替换为:/WW/ 但仅当它们位于 [img] 标签之间时。
我正在尝试导入一个值包含这样的数据的 JSON 文件 "\"Koslov Git †girish\" Ges" 返回应该像 "Koslov Git †girish Ges" 多余的\"是麻烦 我尝试了
如何用空格替换 1990-2050 中的任何年份? 我可以按如下方式替换任何 4 位数字 select regexp_replace('sdfg 2000', '(\y(\d{4})\y)', '',
在 PostgreSQL 中使用 regexp_replace,我开发了(在 SO 的大量帮助下)匹配前 n 个字符的模式,如果最后一个字符不在我不知道的字符列表中'希望字符串结束于. regexp_
我正在使用 PostgreSQL regexp_replace 函数来转义字符串中的方括号、圆括号和反斜杠,这样我就可以将该字符串用作正则表达式模式本身(还有对该字符串进行的其他操作在使用它之前,但它
我想使用 REGEXP_REPLACE 来清理用 '' 包裹它们的字符串值,我尝试了以下方法: REGEXP_REPLACE("Stacko 'N' verflow",'([A-Z])','\\1')
我是一名优秀的程序员,十分优秀!