正则表达式中环视的简单应用示例【基于java】

发布时间 - 2026-01-11 00:41:15    点击率:

本文实例讲述了正则表达式中环视的简单应用。分享给大家供大家参考,具体如下:

由于开发工作需要对文本中内容进行过滤,删除或替换掉一些无用的或不符合要求的信息。于是发现一个问题,某一类工程性文本中,用到很多英文写法相同、但含义不同的单位,需要将其分别转为真实含义对应的汉字。比如:"粘度为17s,移动距离为350厘米,要求混凝土必须内实外光。振捣时间为30s。",很明显第一个s是粘度的单位,第二s是时间单位,现在需要将文本中所有表示时间的s替换为“秒”,在朋友指引下,发现通过正则表达式中的环视可以方便实现这功能。

正则表达式中的环视,大家公认的基本原理是依据位置信息来进行匹配。我认为,还可以把它理解为依据目标字符的上下文进行匹配。

具体的Java代码如下

package ccnu;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
public class regex {
  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    String tempHtmlString="粘度为17s,移动距离为350厘米,要求混凝土必须内实外光。振捣时间为30s。";
    Pattern p_html;
    Matcher m_html;
    String regEx = "([^粘度][u4e00-u9fa5]{1,10}(?<=[0-9]))s([^a-z]$)";
    p_html = Pattern.compile(regEx);
    m_html = p_html.matcher(tempHtmlString);
    String resultString="";
    try {
      resultString = m_html.replaceAll("$1秒");
    } catch (PatternSyntaxException ex) {
      // Syntax error in the regular expression
    } catch (IllegalArgumentException ex) {
      // Syntax error in the replacement text (unescaped $ signs?)
    } catch (IndexOutOfBoundsException ex) {
      // Non-existent backreference used the replacement text
    }
    System.out.println(resultString);
  }
}

结果:粘度为17s,移动距离为350厘米,要求混凝土必须内实外光。振捣时间为30秒。

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools./regex/javascript

正则表达式在线生成工具:
http://tools./regex/create_reg

希望本文所述对大家正则表达式学习有所帮助。


# 正则表达式  # 环视  # Java 正则表达式详解  # JAVA正则表达式 Pattern和Matcher  # Java正则多字符串匹配替换  # java正则表达式验证邮箱、电话号码示例  # java正则表达式四种常用的处理方式(匹配、分割、替代、获取)  # Java/Js下使用正则表达式匹配嵌套Html标签  # Java正则表达式过滤出字母、数字和中文  # JAVA中正则表达式匹配  # 替换  # 查找  # 切割的方法  # 用Java正则去掉字符串中重复出现的字符  # Java正则环视和反向引用功能与用法详解  # 时间为  # 还可以  # 第一个  # 把它  # 将其  # 我认为  # 英文  # 给大家  # 一个问题  # 很明显  # 所述  # 或不  # 基本原理  # 再为  # 测试工具  # 讲述了  # 指引下  # java  # brush 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Python文件操作最佳实践_稳定性说明【指导】  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  如何快速建站并高效导出源代码?  如何撰写建站申请书?关键要点有哪些?  利用python获取某年中每个月的第一天和最后一天  如何生成腾讯云建站专用兑换码?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  公司网站制作价格怎么算,公司办个官网需要多少钱?  Thinkphp 中 distinct 的用法解析  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  原生JS获取元素集合的子元素宽度实例  免费网站制作appp,免费制作app哪个平台好?  深入理解Android中的xmlns:tools属性  iOS发送验证码倒计时应用  Linux系统命令中tree命令详解  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  如何快速搭建高效WAP手机网站?  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  网站图片在线制作软件,怎么在图片上做链接?  MySQL查询结果复制到新表的方法(更新、插入)  Laravel如何实现多对多模型关联?(Eloquent教程)  网站制作报价单模板图片,小松挖机官方网站报价?  深圳网站制作培训,深圳哪些招聘网站比较好?  什么是javascript作用域_全局和局部作用域有什么区别?  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  如何确认建站备案号应放置的具体位置?  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  如何用低价快速搭建高质量网站?  如何快速配置高效服务器建站软件?  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  如何在IIS7中新建站点?详细步骤解析  *服务器网站为何频现安全漏洞?  Swift开发中switch语句值绑定模式  详解jQuery中基本的动画方法  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  js实现获取鼠标当前的位置  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  Laravel如何使用Livewire构建动态组件?(入门代码)  Laravel如何实现一对一模型关联?(Eloquent示例)  Python结构化数据采集_字段抽取解析【教程】  详解Android——蓝牙技术 带你实现终端间数据传输  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  Python自动化办公教程_ExcelWordPDF批量处理案例  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  php485函数参数是什么意思_php485各参数详细说明【介绍】