Java 中的增量模式 (RegEx) 匹配?

2024-03-18

有没有一种方法或一个有效的库允许在Java中进行增量正则表达式匹配?

我的意思是,我希望有一个 OutputStream,我可以一次发送几个字节,并跟踪到目前为止与正则表达式的数据匹配。如果接收到一个字节,则肯定会导致此正则表达式not比赛,我希望直播能告诉我这一点。否则它应该让我了解当前的最佳匹配(如果有)。

我意识到这可能是一个极其困难且定义不明确的问题,因为人们可以想象正则表达式可以匹配整个表达式或其任何部分,或者在流关闭之前无法做出决定。即使像 .* 这样微不足道的东西也可以匹配 H、He、Hel、Hell、Hello 等。在这种情况下,我希望流说:“是的,如果现在结束,这个表达式可以匹配,这是它将返回的组。”

但是如果 Pattern 在内部逐步遍历它逐个字符匹配的字符串,它可能不会那么难?


增加的通过计算可以很好地实现匹配有限状态自动机对应于正则表达式,并在处理输入的字符时对其执行状态转换。大多数词法分析器都是这样工作的。这种方法不适用于groups, 尽管。

因此,也许您可​​以将其分为两部分:使用一个匹配器来确定是否存在任何匹配,或者将来是否存在匹配的机会。您可以使用它在每个输入字符后给您一个快速回复。一旦获得完整的匹配,您就可以执行回溯和分组正则表达式引擎来识别匹配组。在某些情况下,将分组内容编码到自动机中也可能是可行的,但我想不出实现此目的的通用方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 中的增量模式 (RegEx) 匹配? 的相关文章

  • 如何在一行中将字符串数组转换为双精度数组

    我有一个字符串数组 String guaranteedOutput Arrays copyOf values values length String class 所有字符串值都是数字 数据应转换为Double QuestionJava 中
  • AES 加密 Java/plsql

    我需要在Java和plsql DBMS CRYPTO for Oracle 10g 上实现相同的加密 解密应用程序 两种实现都工作正常 但这里的问题是我对相同纯文本的加密得到了不同的输出 下面是用于加密 解密过程的代码 Java 和 PLS
  • 线程自动利用多个CPU核心?

    假设我的应用程序运行 2 个线程 例如渲染线程和游戏更新线程 如果它在具有多核 CPU 当今典型 的移动设备上运行 我是否可以期望线程在可能的情况下自动分配给不同的核心 我知道底层操作系统内核 Android linux内核 决定调度 我的
  • JNI 不满意链接错误

    我想创建一个简单的 JNI 层 我使用Visual studio 2008创建了一个dll Win 32控制台应用程序项目类型 带有DLL作为选项 当我调用本机方法时 出现此异常 Exception occurred during even
  • ExceptionConverter:java.io.IOException:文档没有页面。我正在使用 iText

    当我执行下面的代码时 File f new File c sample pdf PdfWriter getInstance document new FileOutputStream f document open System out p
  • Convert.FromBase64String 方法的 Java 等效项

    Java 中是否有相当于Convert FromBase64String http msdn microsoft com en us library system convert frombase64string aspx which 将指
  • 在具有相同属性名称的不同数据类型上使用 ModelMapper

    我有两节课说Animal AnimalDto我想用ModelMapper将 Entity 转换为 DTO 反之亦然 但是对于具有相似名称的一些属性 这些类应该具有不同的数据类型 我该如何实现这一目标 动物 java public class
  • 检查 Android 手机上的方向

    如何查看Android手机是横屏还是竖屏 当前配置用于确定要检索的资源 可从资源中获取Configuration object getResources getConfiguration orientation 您可以通过查看其值来检查方向
  • 使用正则表达式搜索 Ruby 数组

    你好 我有一个小的 ruby 函数 它可以分割出一个 Ruby 数组 如下所示 def rearrange arr from to sidx arr index from eidx arr index to arr sidx arr sid
  • 将多模块 Maven 项目导入 Eclipse 时出现问题 (STS 2.5.2)

    我刚刚花了最后一个小时查看 Stackoverflow com 上的线程 尝试将 Maven 项目导入到 Spring ToolSuite 2 5 2 中 Maven 项目有多个模块 当我使用 STS 中的 Import 向导导入项目时 所
  • 使用 Flyway 和 Hibernate 的 hbm2ddl 在应用程序的生命周期中管理数据库模式

    我正在开发 Spring Hibernate MySql 应用程序 该应用程序尚未投入生产 我目前使用 Hibernatehbm2ddl该功能对于管理域上的更改非常方便 我也打算用Flyway用于数据库迁移 在未来的某个时候 该应用程序将首
  • 使用 SAX 进行 XML 解析 |如何处理特殊字符?

    我们有一个 JAVA 应用程序 可以从 SAP 系统中提取数据 解析数据并呈现给用户 使用 SAP JCo 连接器提取数据 最近我们抛出了一个异常 org xml sax SAXParseException 字符引用 是无效的 XML 字符
  • 如何在 Maven 中显示消息

    如何在 Maven 中显示消息 在ant中 我们确实有 echo 来显示消息 但是在maven中 我该怎么做呢 您可以使用 antrun 插件
  • 当单元格内的 JComboBox 中有 ItemEvent 时,如何获取 CellRow

    我有一个 JTable 其中有一列包含 JComboBox 我有一个附加到 JComboBox 的 ItemListener 它会根据任何更改进行操作 但是 ItemListener 没有获取更改的 ComboBox 所在行的方法 当组合框
  • Java - 不要用 bufferedwriter 覆盖

    我有一个程序可以将人员添加到数组列表中 我想做的是将这些人也添加到文本文件中 但程序会覆盖第一行 因此这些人会被删除 如何告诉编译器在下一个空闲行写入 import java io import java util import javax
  • 将 JTextArea 内容写入文件

    我在 Java Swing 中有一个 JTextArea 和一个 提交 按钮 需要将textarea的内容写入一个带有换行符的文件中 我得到的输出是这样的 它被写为文件中的一个字符串 try BufferedWriter fileOut n
  • 将2-3-4树转换为红黑树

    我正在尝试将 2 3 4 树转换为 java 中的红黑树 但我无法弄清楚它 我将这两个基本类编写如下 以使问题简单明了 但不知道从这里到哪里去 public class TwoThreeFour
  • 如何为 Imagus 悬停缩放扩展开发自定义过滤器?

    当我读到关于悬停缩放是邪恶的 http www reddit com r YouShouldKnow comments 1wjrc8 ysk that the hover zoom extension is spyware 哎呀 有两篇文章
  • java迭代器内部是如何工作的? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个员工列表 List
  • java8 Collectors.toMap() 限制?

    我正在尝试使用java8Collectors toMap on a Stream of ZipEntry 这可能不是最好的想法 因为在处理过程中可能会发生异常 但我想这应该是可能的 我现在收到一个我不明白的编译错误 我猜是类型推理引擎 这是

随机推荐

  • CodeIgniter flashdata 重定向后不工作

    我已经这样设置闪存数据 this gt session gt set flashdata dispMessage my message is here 我在会话库中找到该消息 但未显示在重定向页面中 我使用的是 codeigniter 版本
  • 将位图图像保存到 SD 卡 - API 1.5 中存在问题?

    知道为什么这不适用于运行 Android API 1 5 的 HTC Hero 吗 private static void Save to SD Bitmap bm String image name String extStorageDi
  • SQLExecDirect 中的游标状态无效,SQL 状态 24000

    我需要在 PHP 中通过 ODBC 依次调用两个存储过程 run stored procedure 1 query Shipped Not Shipped Rep GET rep id result odbc exec dbh query
  • 在自定义类型上使用集合初始值设定项语法?

    我有一个很大的静态列表 它基本上是一个查找表 所以我在代码中初始化该表 private class MyClass private class LookupItem public int Param1 get set public int
  • 垂直 xtick 标签位于顶部,而不是底部

    我想使用 Pylab 绘制混淆矩阵 沿水平轴的类标签很长 所以我想将它们垂直旋转绘制 但是 我也想将它们绘制在轴的顶部 而不是下面 此命令可以在底部绘制垂直标签 pylab imshow confusion matrix pylab xti
  • 访问脚本主模块内定义的python类变量

    我有一个 Django 项目 它使用 celery 进行异步任务处理 我正在使用Python 2 7 我在模块中有一个类client py在我的 Django 项目中 client py class Client def init self
  • 显示Java 8流处理的进度

    我有一个Stream处理数百万个元素 其背后的Map Reduce算法需要几毫秒 因此任务完成大约需要二十分钟 Stream
  • python tkinter如何将按键绑定到按钮

    编程新手 尤其是 python 和 tKinter 如何创建一种将键 s 绑定到按钮或功能的方法sharpen 任何帮助都是极好的 from Tkinter import from PIL import Image ImageTk Imag
  • VHDL 中的 NULL 语句

    其实际目的是什么nullVHDL 中的声明 考虑以下代码 1 CASE s IS BEGIN WHEN 0 gt y lt 0 WHEN 1 gt NULL END CASE 2 CASE s IS BEGIN WHEN 0 gt y lt
  • 如何在 asp.net mvc 中通过自定义 jQuery 验证复选框列表

    我有一个复选框列表 我想在客户端使用 jQuery 进行验证 但失败了 我已经在我的项目中添加了 unobtrusive 和 jquery 验证插件 型号代码为 Required public string name get set Ski
  • 不使用 matlab 提取 .mat 数据 - 尝试 scilab 失败

    我已经下载了一个我感兴趣的数据集 但是 它是 mat 格式 并且我无法访问 Matlab 我用谷歌搜索了一下 它说我可以在 SciLab 中打开它 我尝试了一些东西 但我还没有找到任何关于这方面的好的教程 I did fd matfile
  • Socket.EndRead 0字节表示断开连接?

    我想知道在 C 中的异步套接字中 在 EndRead 调用中接收到 0 字节是否意味着服务器实际上已与我们断开连接 我看到的许多例子表明情况确实如此 但我收到的断开连接比我预期的要频繁得多 这段代码正确吗 或者 endResult priv
  • 使用 DDD 方法在 Python 中保留 POJO

    我正在尝试使用 DDD 模式创建 Flask 应用程序 DDD 的核心原则之一是将领域与持久性 基础设施 分离 我已在模块中定义了域模型 并将在基础设施模块中创建存储库 但是 我似乎找不到任何关于如何在 Python 中持久保存 POJO
  • 如何从 MongoDB 获取数据?

    我正在尝试使用 Express MongoDB 构建 React 应用程序 我能够将一些文档发布到 MongoDB 目前 我正在尝试弄清楚如何将获取的数据打印到屏幕上 我有这些路线 router post totalbalance requ
  • 使用 c 访问 /Private/etc

    这可能是一个简单的问题 但如何在 c 控制台应用程序中向用户 请求 系统 根权限 我需要写信给 Private etc 但我不能 这是针对 mac unix 的 我已经看到它被用在其他控制台命令中 例如当您运行以下命令 sudo Syste
  • 在嵌入式 HSQL 数据库中创建架构的最佳方法

    我目前正在使用以下设置在嵌入式数据库中创建一个架构 然后再针对它运行测试 在我的应用程序上下文中
  • 求以下代码的上限和下限

    我需要找到以下代码的最接近的上限和下限 我是这方面的初学者 对我的错误感到抱歉 p 的上限为 O log n 下限为 O 1 notp 的上限为 O log n 下限为 O 1 我认为下界是 O 1 因为如果我有 n 4 那么我进入循环并且
  • 隐藏 Material-UI 自动完成弹出窗口,直到键入文本

    我有一个可用的 Material UIAutocomplete已实现 但是目前当您单击选择一个项目时 除了文本搜索之外 它还会显示所有项目的可单击下拉列表 我希望这样在先输入某些内容之前不会显示下拉选项
  • 选择不同的经度和纬度值并找到它们的中值

    我正在使用 Google Maps API V3 和 jQuery 创建 Phonegap 应用程序 当检测到坑洼时 应用程序将经度和纬度值分别存储在 MySQL 数据库中 我需要做的是选择任何相对接近且很可能是相同坑洞的值 jQuery
  • Java 中的增量模式 (RegEx) 匹配?

    有没有一种方法或一个有效的库允许在Java中进行增量正则表达式匹配 我的意思是 我希望有一个 OutputStream 我可以一次发送几个字节 并跟踪到目前为止与正则表达式的数据匹配 如果接收到一个字节 则肯定会导致此正则表达式not比赛