Java 模式在“ABC”中查找两组两个字母

2024-01-04

我有一个这样定义的模式:

 private static final Pattern PATTERN = Pattern.compile("[a-zA-Z]{2}");

在我的代码中我正在这样做:

 Matcher matcher = PATTERN.matcher(myString);

并使用 while 循环查找所有匹配项。

 while (matcher.find()){
 //do something here
 }

If myString is 12345AB3CD45匹配器正在查找这两组两个字母(AB and CD)。问题是我有时会myString as 12345ABC356所以我希望匹配器首先找到AB进而BC(仅找到“AB”)。

我是否做错了,或者正则表达式错误,或者匹配器不能以这种方式工作?


您无法使用正则表达式多次匹配同一位置,但您可以使用一个技巧。

为此,您需要将您的模式封装在展望 http://www.regular-expressions.info/lookaround.html和一个捕获组:

(?=([A-Za-z]{2})),因为前瞻不匹配任何字符并且仅消耗一个位置。

您要查找的结果位于捕获组 1 中。

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

Java 模式在“ABC”中查找两组两个字母 的相关文章

  • 将嵌套的 ArrayList 转换为 Java List

    我有这个方法 public List
  • 如何制作具有两个索引的 Map?

    我在java中有一张这样的地图 Map
  • JCombobox 字符串项(可见)和整数键(固有)

    我有一个数据库模式 它将作为 JTable 列显示在 JCombobox 中以选择名称 但我希望将 ID 字段插入 作为外键 到另一个表中 通常 在下拉列表中选择一个项目 将所选项目带到组合框的显示区域 我想要做的是 当选择组合框中的任何项
  • Junit测试中LocalDateTime反序列化的问题

    我有问题LocalDateTime反序列化Junit测试 我有简单的REST API返回一些DTO目的 当我呼叫端点时 响应没有问题 它是正确的 然后我尝试编写单元测试 得到MvcResult并使用ObjectMapper将其转换为我的DT
  • Java OR 运算符优先级

    如何在 Java 中以 if 的方式链接条件语句b是假的 不如不检查c If a and c是假的 并且b是真的 确实c会被检查吗 if a b c 我正在寻找 PHP 所拥有的类似功能 但两者之间存在差异OR and 爪哇 如果左操作数是
  • 通过 Session.update 和 HibernateTemplate.merge 进行 Hibernate 更新的区别

    我看到了更新操作的类型 第一的 getHibernateTemplate execute new HibernateCallback public Object doInHibernate Session session session f
  • 写入作为 Jar 文件中的资源包含的 Java 属性文件

    有没有办法修改作为资源存储在 Jar 文件中的属性文件中的属性值 这就是我正在尝试处理的场景 我有一个属性文件作为资源存储在我的 Jar 文件中 有一些系统特定的属性 例如路径 我希望能够为我想要运行 Jar 文件的系统更改此设置 最好的解
  • 如何从 Jackson 中的自定义解串器调用默认解串器

    我在杰克逊的自定义解串器有问题 我想访问默认序列化器来填充我要反序列化的对象 在填充之后 我将做一些自定义的事情 但首先我想使用默认的 Jackson 行为反序列化对象 这是我目前拥有的代码 public class UserEventDe
  • Java 中内存高效的稀疏数组

    关于时间高效的稀疏数组存在一些问题 但我正在寻找内存效率 我需要相当于List
  • 膨胀类 android.support.v7.internal.widget.NativeActionModeAwareLayout 时出错

    如果您以前解决过这个问题 请有人帮助我 我正在尝试使用材料设计制作一些东西 以便应用程序可以运行到 API 10 的低版本 我的代码中没有任何错误 但我不断收到此错误 Android 日志猫 06 01 05 05 37 414 E And
  • 无法在android中使用retrofit发出@Post请求

    我正在学习如何在 android 中使用改造 但是每当我尝试从互联网检索数据时 我的应用程序不会返回任何内容我的响应没有成功 我不知道如何修复当前我正在尝试发布的错误并使用此 URL 检索数据https jsonplaceholder ty
  • 公共领域有哪些替代方案?

    我正在用 java 编写一个游戏 正如问题标题建议的那样 我在类中使用公共字段 暂且 据我所知 公共领域很糟糕 我有一些理解其中的原因 但如果有人能澄清为什么你不应该使用它们 那将不胜感激 问题是 从我所看到的来看 这似乎是合乎逻辑的 是使
  • 如何将空字符串序列化为单个空标签?

    我使用 Simple XML 框架序列化此类 Root public class HowToRenderEmptyTag Element required false private String nullString 我想得到
  • Jackson 中没有注释的多态反序列化

    我有一个CloudEvent
  • Hibernate SET 元素 order-by 子句

    我想知道 我可以平静地接受以下事实 当 fetch select 时 您可以在映射文件中的 SET 元素上设置 order by 属性 但如果您在创建查询时获取所有内容 这样安全吗 我的意思是 他们将结果放入 HashSet 中 我不认为这
  • RegEx 使用 match() 在 JavaScript 中提取字符串数组

    我正在尝试使用string match 在 javascript 中使用正则表达式来提取字符串数组 这是一个示例字符串 CREATE TABLE listings listing id INTEGER UNIQUE state TEXT t
  • 在大画布上滚动

    我需要一些帮助来了解滚动绘制到 Android 画布上的项目的基础知识 假设我想创建一个时间线 其中 0 处的时间是可视化的顶部 并且随着时间的增加 时间线继续呈现在上一个点下方 如果我想在 Android 上渲染它 我知道我可以通过重写
  • 有没有办法防止 Spring Boot 覆盖 bean?

    与春天的抽象可刷新应用程序上下文 http docs spring io spring docs current javadoc api org springframework context support AbstractRefresh
  • 如何找到 JAR:/home/hadoop/contrib/streaming/hadoop-streaming.jar

    我正在练习有关 Amazon EMR 的复数视角视频教程 我被困住了 因为我收到此错误而无法继续 Not a valid JAR home hadoop contrib streaming hadoop streaming jar 请注意
  • 启动 Firefox 并等待其关闭

    Question 我想启动 Firefox 网络浏览器作为访问特定网站的过程 然后等到它关闭 一种特殊情况是浏览器可能已经打开并正在运行 因为用户可能已经访问过某个网站 在这种情况下 浏览器可能会在现有窗口中打开一个新选项卡 并且新启动的进

随机推荐

  • 如何通过此代码使用 jquery 更改 css 属性

    business 当前设置为背景 323232 我怎样才能将其更改为 000 当我点击 business 并在菜单关闭后返回到 323232 后 document ready function business click function
  • JSF 2 动态表单和 Bean 验证 JSR 303

    我从带注释的 bean 开始生成一个动态表单 使用 Hibernate Validator 对同一个 bean 进行注释以进行验证 表单已正确呈现 但提交表单时 验证步骤并未执行 如果我使用 jsf 标记编写相同的表单 则验证可以正常工作
  • setBackground() 或 setFontColor 在 GAS 中不起作用

    我在让我的脚本突出显示一个范围时遇到了麻烦 经过一番调试后 我意识到 type 的调用似乎有问题 range setBackground name of color 因此 我访问了 GAS 参考网站并使用了他们页面上的示例 https de
  • 为什么在 JavaScript 中使用链式原型继承?

    perf http jsperf com object inheritance vs object composition 为什么我们要构建原型继承链而不是使用对象组合 查找链中每一步的原型都非常昂贵 这是一些虚拟示例代码 var lowe
  • 使用 find 查找不属于 USER 或 GROUP 的文件

    我需要在 CentOS 7 中查找不属于用户或不属于组的文件和文件夹 我有3个测试目录 root root test1 root group test2 user root test3 我需要能够找到所有 3 个目录 这样我就可以在一个 f
  • R Write.CSV 错误:无法打开文件,参数无效

    这似乎是一个非常简单的问题 但我在其他地方找不到答案 所以我希望这里有人能给我指出正确的方向 我正在使用 R 脚本编写 CSV 并遇到以下错误 Error in file file ifelse append a w cannot open
  • pygame.mixer.Sound.play 尽管定期触发,但不规则

    我目前尝试每 x 毫秒重复一次声音 其中 x 取决于我通过套接字收到的 UDP 数据包 我决定使用 pygame 来实现这一点 我用这个答案每 x 毫秒重复一次 https stackoverflow com a 18954902 3475
  • CC.Net 中修改Reader 任务的示例?

    我正在尝试建立一个构建链 通过各个构建阶段传播修改历史记录 我的第一个想法是修改写入器 修改读取器对 但我无法让读者读取结果 有人有任何例子或提示吗 我使用的是最新的CC NET 1 4 4 SP1 谢谢 玩了一会就明白了 请注意 您需要最
  • 在 gdb 会话中选择调试信息文件的子集

    在我的 Fedora 盒子上我安装了很多单独的调试信息 sudo dnf debuginfo 安装
  • 用Java向多个收件人发送邮件

    我想使用以下方法向多个收件人发送消息 message addRecipient Message RecipientType TO String arg1 Or message setRecipients Message RecipientT
  • 对于 Windows 窗体来说,PostMessage to self 相当于什么?

    我正在编写一个源自的自定义控件System Windows Forms Control 该控件正在使用Control KeyDown事件 观察击键 我应该处理一些击键 例如
  • 识别相同 OleDbException 类型的异常

    我有以下代码来验证另一个应用程序是否以独占模式打开 MSAccess 2003 数据库 数据库已有密码 OleDbConnectionStringBuilder conString new OleDbConnectionStringBuil
  • 将矩阵图像定位在图像视图的中心

    我创建了一个图像库 一切正常 需要放大和移动图像 ImgView setScaleType ImageView ScaleType MATRIX 当我这样做时 我得到的图像很小 所以我调用了该方法 scaleFactor view getW
  • C# 将函数源代码转换为字符串

    在 C 中 有没有办法将函数的源代码转换为字符串 有点像 JavaScript 中的实现方式 我需要这个 因为我正在为 Asp Net 控件编写一些文档 并且希望在结果旁边显示原始源代码 而不是复制 粘贴它 简短的回答 不 长答案 您可以使
  • android 上的 chromium 中的 kiosk 模式或全屏模式

    我已经为我的 Android 设备构建了一个 chromium ContentShell 如下所述 https code google com p chromium wiki AndroidBuildInstructions https c
  • plpgsql CREATE FUNCTION 在“CREATE”处或附近出现语法错误

    即使我清空所有 DECLARE 块和 BEGIN END 块并尝试返回一个字符串 似乎也无法将此函数创建为 Create 谁能帮我解决我在这里做错的事情吗 尝试在 pgAdminIII Ubuntu 中执行此命令 CREATE OR REP
  • 如何获取给定字符串中数字字符的总数? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 如何计算字
  • 每个标记的可变宏扩展

    假设我有一个宏 一个只调用函数的简单宏foo对于不同类型 define FOO type foo type 一次 假设我想将这个东西称为多种不同类型 具体来说 foo int foo float foo point2d 我想用一个名为的宏生
  • Docker-compose 默认排除服务

    如果我在 docker compose 项目中定义了很多服务 如何从默认服务中排除某个服务docker compose up命令 例如 我有一个 nginx 服务和一个 ssl 服务 它们发生冲突 因为它们都消耗端口 80 所以我怎样才能使
  • Java 模式在“ABC”中查找两组两个字母

    我有一个这样定义的模式 private static final Pattern PATTERN Pattern compile a zA Z 2 在我的代码中我正在这样做 Matcher matcher PATTERN matcher m