正则替换的方式删除特定的内容

这篇具有很好参考价值的文章主要介绍了正则替换的方式删除特定的内容。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

    以前,公司网络限制,无法通过用户名密码登录某些网站,但是可以通过浏览器打开网站,而这些网站有个问题,非登录用户,不能复制博客中的代码,这个就有些麻烦了。

    好在,这些代码是可以通过查看网页源代码的方式获取。如下所示,我们看到csdn的代码:

正则替换的方式删除特定的内容

    拿到html元素内容的办法:

     1、开启F12,进入开发者调试界面,

     2、切换到 元素 tab页,

     3、使用鼠标选择 代码部分。

     4、拷贝元素。

正则替换的方式删除特定的内容

   我们分析这段内容,主要由html标签包裹,我们需要去掉标签部分。

    html标签有个特点,它是成对出现的,我们如果把所有的标签都去掉,那么其实就剩下内容部分了。有了这个思路,我们就可以开始工作了。

    这里考虑使用正则替换的方式,将标签去掉,标签类似<div>或者</div>。我们直接通过正则<.*>可能会将所有内容都干掉。因为<div>xxx</div>这种其实也会匹配上<.*>。并不能只去掉两边的<div>和</div>。

正则替换的方式删除特定的内容

    这里需要考虑<>内部不能再出现闭合标签">",似乎有点难以理解,意思这里只匹配唯一一个标签<>,不管是开始标签<div>,还是关闭标签</div>。

     针对这个需求,正则再改变一下,<[^>]+>,替换效果如下所示:

正则替换的方式删除特定的内容

    替换之后,正好剩下代码部分。就是我们需要的。

    这里稍微说一下,这是使用notepad++来做的,它支持正则表达式书写,所以我们在替换界面可以看到这样的信息:

正则替换的方式删除特定的内容

    查找模式,需要切换到正则表达式,因为我们要删除这些标签,匹配的内容直接替换为空,所以“替换为”这里不用填写任何东西。最后选择全部替换即可。

    另外一个替换的示例,这里我们通过java代码来实现。

    假设我们有一个字符串如下所示:

[{"name":"buejee","id":101,"email":[],"mobile":"15909062001"},{"name":"lucky","id":102,"email":["haha@sina.com"],"mobile":"15909062002"}]

    这里虽然是一个json格式,但是它本身是作为一个字符串存在的,我们需要删除email这个部分。上面的示例里面有两个email,分别是 "email":[],   和  "email":["haha@sina.com"], 。为了将他们都去掉,我们的正则可以考虑这样写:

"email":\[[^\]]*\], 

    其中[^\]]*表示的是[]内部不能出现 ],这里的*表示内容可以有多个字符,也可以没有,匹配[]["haha@sina.com"]。另外,因为 "[" 和 "]" 本身是正则里面的关键字符号,所以这里需要转义。在java中,转义符号是两个反斜杠\\

    程序代码如下:

package com.xxx.reg;

import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class StringReplace {
    public static void main(String[] args) {
        String str = "[{\"name\":\"buejee\",\"id\":101,\"email\":[],\"mobile\":\"15909062001\"},{\"name\":\"lucky\",\"id\":102,\"email\":[\"haha@sina.com\"],\"mobile\":\"15909062002\"}]";
        Pattern pattern = Pattern.compile("\"email\":\\[[^\\]]*\\],");
        Matcher matcher = pattern.matcher(str);
        System.out.println(str);
        String result = matcher.replaceAll("");
        System.out.println(result);
    }
}

    运行结果:

正则替换的方式删除特定的内容

     打印结果正好删除了email部分。

    这两个示例有相同的部分,就是删除的内容需要进行一个过滤,不能贪婪匹配,否则就达不到效果,使用正则中的[^]语法来限制不能出现某个特定的标志。文章来源地址https://www.toymoban.com/news/detail-490167.html

到了这里,关于正则替换的方式删除特定的内容的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 以对象的方式访问html中的标签,比正则表达式更好用的方式获取html中的内容,linq方式直接获取所有的链接,更加先进的c#版本爬虫开源库

    这是我本人自己写的一个开源库,现已经发布到nuget,可以直接在vs的nuget包管理中搜索到,或者可以到nuget官网下载:https://www.nuget.org/packages/ZmjConvert/,也可以到我的个人网站上下载源码:https://www.zhaimaojun.cn/P/C%23%e6%a0%87%e7%ad%be%e7%b1%bb%e6%96%87%e6%9c%ac%e5%ba%8f%e5%88%97%e5%8c%96%e5%ba%9

    2024年03月15日
    浏览(55)
  • notepad++ 正则表达式查找特定字符串

    批量文本的处理方法 在报文中有很多指标和值都具有固定的格式,比如是  a=\\\"1\\\" 这类格式,那么我们只取前面的指标a,就会比较复杂,而使用正则表达式就会快乐许多! 采用以下第二种方法 查找目标 =(.+?)\\\"    表示查找以等号开头,引号和空格  结尾的字符串,可以避免查

    2024年02月15日
    浏览(57)
  • 使用OpenXML库替换docx文档(Word文档)中的特定字段

    在批量生成Word文档的应用中,最常见的需求莫过于替换掉文档中的特定字段以生成新的文档。利用OpenXML库可轻松实现这一需求。 首先放出最简单然而有bug的版本: 该版本的原理是遍历word文档中的每个段落,搜索段落中的每个文字字段对象,如果找到匹配的值就将其替换成

    2024年02月11日
    浏览(50)
  • 筛选特定内容:Python中筛选DataFrame指定数据列包含特定内容的所有数据行

    筛选特定内容:Python中筛选DataFrame指定数据列包含特定内容的所有数据行 在数据处理和分析中,经常需要对数据进行筛选以便找到我们需要的信息。而在Python中,使用Pandas库中的DataFrame对象可以方便地对数据进行处理和分析。 下面我们来看如何使用contains()函数,筛选DataFr

    2024年02月14日
    浏览(40)
  • 公司创建百度百科需要哪些内容?

    一个公司或是一个品牌想要让自己更有身份,更有知名度,更有含金量,百度百科词条是必不可少的。通过百度百科展示公司的详细信息,有助于增强用户对公司的信任感,提高企业形象。通过百度百科展示公司的发展历程、领导团队、企业荣誉等,可以彰显公司的实力和行

    2024年02月03日
    浏览(39)
  • 【记录】正则替换的偏方

    一.Input中的字符串按数字规则替换 1. 包含正号,负号,小数点的浮点数 本身的正则替换是无法单次实现完美替换的, 这个方法会删掉用于匹配的一些数字, 优点是它能保证输入的合法性, 缺点是删去的部分需要重新输入 最终效果是成对的小数点包括中间的数字都会被替换, 如

    2024年02月17日
    浏览(33)
  • php正则替换文章的图片

    要使用正则表达式替换文章中的图片链接,可以按照以下步骤进行操作: 1. 获取文章内容:首先,你需要获取包含图片链接的文章内容。你可以从文件中读取文章,或者从数据库中检索文章内容。 2. 使用正则表达式匹配图片链接:使用正则表达式来匹配文章中的图片链接。

    2024年02月12日
    浏览(32)
  • Latex中正则表达式替换

    文章目录 前言 一、使用步骤 二、常用正则表达式 三、具体使用例子 本文主要是根据自己平时修改latex中不规范的格式,遇到的一些需要重复修改的一类问题,用正则表达式来提高修改效率。 例如:文中出现转置符号,应该使用命令top。正确示例:A^{top};错误示例:A^{T}。

    2023年04月22日
    浏览(77)
  • java正则表达式匹配替换大括号变量${}和替换${}变量的值

    java正则表达式替换“$ {}”特殊字符并还原,以及java正则表达式替换${}变量为变量的值这两种操作的代码示例。 正则表达式还是非常有用的, 可以耐心看下定义,多尝试下。 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将

    2024年02月02日
    浏览(61)
  • Linux快速删除特定行的方法

    在Linux中,可以使用以下方法快速删除特定行: 使用sed命令删除特定行: 例如,要删除文件file.txt中的第5行,可以运行以下命令: 使用awk命令删除特定行: 其中,条件可以是正则表达式或者模式匹配。例如,要删除文件file.txt中包含\\\"example\\\"的行,可以运行以下命令: 使用

    2024年03月25日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包