正则表达式测试工具

news2024/9/28 1:20:18

前言

        正则表达式测试工具可供您输入正则表达式和测试文本,立即查看匹配结果.

        下面是离线的HTML文件,同样可以提供相同的服务.

目录

使用说明

HTML代码

正则表达式的编写经验和方法 

总结


使用说明

1.先将HTML代码存储成.html为后缀的文件;

2.然后用浏览器打开这个html文件;

3.按照页面显示,分别输入测试的字符串,正则表达式和特定选项;

4.特定选项:  全局搜索(返回多个匹配结果)  忽略大小写

5.点击<测试>按钮,将出现匹配结果.

HTML代码

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <style>
    body {
      font-family: Arial, sans-serif;
      background-color: #f4f4f4;
    }

    h2 {
      color: #333;
      margin-bottom: 20px;
    }

    label {
      display: block;
      margin-top: 10px;
      font-weight: bold;
    }

    input[type="text"],
    textarea {
      padding: 5px;
      border: 1px solid #ccc;
      border-radius: 5px;
      font-size: 14px;
    }

    input[type="checkbox"] {
      margin-top: 10px;
    }

    button {
      padding: 10px 20px;
      background-color: #4CAF50;
      color: white;
      border: none;
      border-radius: 5px;
      cursor: pointer;
      font-size: 16px;
    }

    button:hover {
      background-color: #45a049;
    }

    #regex {
      width: 1000px;
      height: 80px;
      border: 1px solid #ccc;
      border-radius: 5px;
      padding: 5px;
      font-size: 14px;
      resize: none;
    }

    #testString {
      width: 1000px;
      height: 180px;
      white-space: pre-wrap;
      border: 1px solid #ccc;
      border-radius: 5px;
      padding: 5px;
      font-size: 14px;
      resize: none;
    }

    #matchResult {
      width: 1000px;
      height: 180px;
      white-space: pre-wrap;
      border: 1px solid #ccc;
      border-radius: 5px;
      padding: 5px;
      font-size: 14px;
      resize: none;
    }

    </style>
</head>

<body>

<h2>正则表达式测试工具</h2>

<label for="testString">测试字符串:</label><br>
<textarea id="testString"></textarea><br>

<label for="regex">正则表达式:</label><br>
<input type="text" id="regex"><br>

<input type="checkbox" id="globalSearch"> 全局搜索
<input type="checkbox" id="ignoreCase"> 忽略大小写

<button onclick="testRegex()">测试</button>

<label for="matchResult">匹配结果:</label><br>
<textarea id="matchResult"></textarea>

<script>
    function testRegex() {
      var regex = document.getElementById("regex").value;
      var testString = document.getElementById("testString").value;
      var globalSearch = document.getElementById("globalSearch").checked;
      var ignoreCase = document.getElementById("ignoreCase").checked;

      try {
        var regexOptions = '';
        if (globalSearch) {
          regexOptions += 'g';
        }
        if (ignoreCase) {
          regexOptions += 'i';
        }
        var regexObj = new RegExp(regex, regexOptions);
        var matches = testString.match(regexObj);
        if (matches) {
          var result = "匹配成功:\n" + matches.length + "个匹配结果\n";
          for (var i = 0; i < matches.length; i++) {
            result += matches[i] + "\n";
          }
          document.getElementById("matchResult").value = result;
        } else {
          document.getElementById("matchResult").value = "匹配失败";
        }
      } catch (e) {
        document.getElementById("matchResult").value = "正则表达式错误: " + e.message;
      }
    }

</script>

</body>

</html>

正则表达式的编写经验和方法 

  1. 明确需求:在开始编写正则表达式之前,非常清楚地理解您想要匹配或提取的文本模式。
  2. 从简单开始:先构建一个简单的表达式来匹配基本的模式,然后逐步增加复杂性和条件。
  3. 测试样本数据:准备一些包含各种可能情况的测试文本,用它们来验证正则表达式的正确性。
  4. 利用工具:使用在线正则表达式测试工具或您所使用编程语言的调试工具来实时查看匹配结果。
  5. 学习基本语法:熟悉常见的元字符(如 .*+?\d\w 等)、字符类(如 [abc][0-9] 等)、分组(使用括号 () )和锚点(如 ^$ )的用法。
  6. 处理特殊字符:如果要匹配正则表达式中的特殊字符本身(如 $. 等),需要进行转义,例如 \.$ 匹配一个点字符。
  7. 考虑边界情况:思考可能的边界情况,如空字符串、最短匹配与最长匹配等。
  8. 参考示例和文档:查找相关的正则表达式示例和权威文档,借鉴他人的经验和最佳实践。
  9. 可读性和注释:对于复杂的正则表达式,添加注释来解释各个部分的作用,以提高可读性和可维护性。
  10. 调试和优化:如果匹配结果不符合预期,逐步分析和调整表达式,找出问题所在。

总结

        编写正则表达式,有常见的模式,可以直接参考我发的其它文章,介绍了几种经常用到的正则表达式.除此之外,借助这个测试工具,快速验证正则表达式的正确性.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1988599.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业需要了解的平滑替代FTP 的文件传输软件知识

虽然传统的FTP曾经是行业的标准&#xff0c;但随着技术的发展&#xff0c;其局限性逐渐出现&#xff0c;促使各行业寻求更高效、更安全的解决方案。然而&#xff0c;面对市场上许多替代FTP软件&#xff0c;测试也消耗了人力和物质资源。今天&#xff0c;小编将分析市场上企业寻…

前端性能优化-图片优化

前言 本文总结 web 性能优化中图片优化的相关知识点。 一些背景知识 有损压缩&#xff08;Lossy Compression&#xff09; 有损压缩是一种图像压缩方法&#xff0c;通过牺牲一些图像细节以减小文件大小。JPEG 是一种常见的有损压缩图像格式。在压缩过程中&#xff0c;一些数…

火柴游戏(match)-2022蜀山区赛初中组第3题

题目描述 锤锤和柯西在玩火柴棒游戏&#xff0c;他们用火柴棒拼成不同的数字。规则如下&#xff1a; 这是火柴所形成10个数字的方式&#xff0c;每个数字所需的火柴数量不一样。现在给两人每人发N根火柴棒。锤锤要用所有火柴棒摆出其所能摆出最小的数&#xff0c;而柯西则需要…

【简历】吉林某985大学:Java简历指导,面试通过率低

注&#xff1a;为保证用户信息安全&#xff0c;姓名和学校等信息已经进行同层次变更&#xff0c;内容部分细节也进行了部分隐藏 简历说明 这是一份顶级985的25届Java简历。顶级985现在的目标只有一个&#xff0c;就是大厂秋招。那么这位同学跟211和普通同学比&#xff0c;优势还…

【JVM】Java内存区域图文详解

1.JVM运行时区域总览 Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域。 JVM运行时区域也成为Java内存区域。 在讨论Java内存模型时&#xff0c;通常将其分为线程共享区域和线程私有区域&#xff1a; 2.线程私有区域 2.1.程序计数器 程序计…

springboot船舶维保管理系统--论文源码调试讲解

第二章 相关技术 本次开发船舶维保管理系统使用的是Vue进行程序开发&#xff0c;船舶维保管理系统的数据信息选择MySQL数据库进行存放。 2.1 VUE介绍 Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是&#xff0c;Vue…

Unity入门1——基本操作

VIew工具 选中View工具后&#xff0c;按住鼠标左键&#xff0c;即可实现拖拽 按住Alt鼠标右键&#xff0c;移动鼠标即可实现缩放&#xff08;或使用鼠标滚轮&#xff09; Move工具 选中移动工具&#xff0c;即可对界面中的物品进行移动。快捷键W 快速定位物体 在层级管理器中…

回溯分割+子集篇--代码随想录算法训练营第二十二天| 131.分割回文串,93.复原IP地址,78.子集,90.子集II

131.分割回文串 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 讲解视频&#xff1a;131.分割回文串 题目描述&#xff1a; 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是回文串 。返回 s 所有可能的分割方案。 示例 …

2.3 Python 基本运算符

欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;欢迎订阅相关专栏&#xff1a; 工&#x1f497;重&#x1f497;hao&#x1f497;&#xff1a;野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典&#xff1a;收集整理全网各大IT互联网公司技术、项目、HR面试真题.…

C++ STL专题 list的讲解

目录 1.list的介绍和使用 1.1 list的介绍 1.2 list的使用 1.2.1 list的构造 1.2.2 list iterator的使用 1.2.3 list capacity 1.2.4 list element access 1.2.5 list modifiers 1.list的介绍和使用 1.1 list的介绍 1.list是可以在常数范围内任意位置进行插入和删除的序…

git系统学习

git系统学习 git命令行获取git 版本号 创建初始版本库创建git库初始化用户名和密码查看用户名和邮箱修改用户名和密码 将文件添加到版本库中删除暂存文件提交代码查看提交信息查看更加详细的信息查看提交差异版本库内文件的删除和重命名删除库里的文件重命名库里的文件 打标签查…

【RunnerGo】离线安装成功版本

目录 一、下载 二、解压安装包 三、修改安装配置 3.1 编辑修改安装参数&#xff08;我没有改&#xff0c;默认安装即可&#xff09; 3.2 安装目录结构说明 四、执行安装 五、检查服务并使用 六、访问 前言&#xff1a;最近在调研一个新工具&#xff0c;发现RunnerGo&…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑通信-物理耦合的有源配网故障后协调恢复策略 》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

SpringBoot banner 推荐

看看我这个怎么样 效果图 在resources下面创建一个banner.txt&#xff0c;把下面代码放到进去就可以用了 ${AnsiColor.GREEN} Application Version: ${ruoyi.version} Spring Boot Version: ${spring-boot.version}69696969 696969696969 696969 …

Facebook的技术创新:如何改变社交网络的面貌

Facebook作为全球最大的社交网络平台之一&#xff0c;一直在不断推动技术创新&#xff0c;以提升用户体验和社交互动质量。这些技术创新不仅改变了人们的社交方式&#xff0c;也深刻影响了整个社交网络的面貌。 人工智能驱动的内容推荐 Facebook利用人工智能&#xff08;AI&am…

深圳市光明区副区长彭颖一行莅临立仪科技参观考察

2024年8月5日上午&#xff0c;‌深圳市光明区彭颖副区长一行领导莅临深圳立仪科技有限公司调研指导工作&#xff0c;深圳市智能传感行业协会执行会长姜勇以及协会秘书长张喻陪同调研。我公司总经理刘杰波、以及各部门负责人陪同参加。 彭颖副区长一行领导在刘总的接待和讲解下&…

vue实现页面中点击预览报告,实现将vue组件变成pdf文件进行弹窗展示

一.实现效果 页面中点击预览报告&#xff0c;实现将vue组件变成pdf文件进行弹窗展示 定义的方法文件 import html2canvas from "html2canvas"; import jsPDF, { RGBAData } from "jspdf";/** a4纸的尺寸[595.28,841.89], 单位毫米 */ const [PAGE_WIDT…

微深节能 环形运动机械定位控制系统 格雷母线

格雷母线定位系统作为一种高精度、无磨损的非接触式位置检测系统&#xff0c;特别适用于环形运动机械的定位控制。 一、格雷母线定位系统的概述 格雷母线定位系统主要由一台地面电气柜、一台车载电气柜、格雷母线以及天线箱等组成。其核心部件是格雷母线&#xff0c;一种特殊的…

深度学习人脸表情识别结课作业留存

0.前言 大三下学期学习了深度学习神经网络的课程&#xff0c;老师留下了人脸表情识别的结课作业&#xff0c;在网上找到了一个想相对不错的开源项目作为基础完成了本次的结课作业。 1.项目链接 Challenges in Representation Learning: Facial Expression Recognition Chall…

运动耳机怎么选?来看看奥运冠军喜欢的运动耳机!

在奥运的竞技舞台上&#xff0c;每一次心跳的跃动都是对自我极限的勇敢挑战&#xff0c;运动员的每一个动作背后&#xff0c;都承载着不懈的努力与对梦想的执着追求。如今&#xff0c;运动科技正以前所未有的速度改变着我们的运动方式&#xff0c;一款优秀的运动耳机成为了连接…