Java重复模式匹配

2024-03-16

我正在尝试获取 Java 中简单正则表达式的每个重复匹配项:

(\\[[^\\[]*\\])*

它匹配 [] 中包含的任何字符串,只要它不包含 [ 字符。例如,它会匹配

[a][nice][repetitive][pattern]

事先不知道存在多少个这样的组,并且我无法找到通过模式匹配器访问各个匹配组的方法,即无法获得

[a], [nice], [repetitive], [pattern]

(或者更好的是,没有括号的文本),有 4 个不同的字符串。

使用pattern.matcher()我总是得到最后一组。

当然,在 Java 中一定有一种简单的方法可以做到这一点,而我却缺少这种方法?

谢谢你的帮助。


while (matcher.find()) {
   System.out.println(matcher.group(1));
}

http://download.oracle.com/javase/6/docs/api/java/util/regex/Matcher.html#find%28%29 http://download.oracle.com/javase/6/docs/api/java/util/regex/Matcher.html#find%28%29

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

Java重复模式匹配 的相关文章

随机推荐

  • 如何使用 LayoutInflater / ViewStub 进行覆盖

    由于我实际上对以编程方式更改视图不太有信心 因此我遇到以下问题 在我的应用程序第一次启动时 我希望主屏幕有一个覆盖层 告诉用户查看设置 因为用户必须配置两个关键选项 我不想使用AlertDialog而不是使用向导 因此 我决定采用类似于 G
  • 添加外键错误

    我想从表中添加外键Customers row Customer ID 到餐桌宠物 row Customer ID Table structure for table Customers CREATE TABLE IF NOT EXISTS
  • 2D 变换过渡不适用于 IE11 中的 VW 和 VH 单位

    当我尝试使用过渡来为变换 TranslateY 制作动画时 我在 IE11 和 10 上遇到了一个奇怪的问题 我有一个天空盒 里面有一个天空 高度为 500vh 该天空必须根据视口中的当前部分上下移动 视口是一个绝对 位置元素 用于处理内容
  • Spring + Hibernate save() 不工作

    我在下面附上 Spring 服务 有问题 代码 Async public void performSeismicOperations Integer sessionUserId int seismicFileId String seismi
  • 在 Rails 6 中省略 bin/rails 路由中的操作邮箱、activestorage 和conductor 路由?

    我有一个全新的 Rails 6 应用程序 但没有anything in the config routes rb 输出bin rails routes有大量 ActiveStorage Action Mailbox 和 Conductor
  • 如何控制 .Net 在命名空间冲突中选择哪个程序集?

    由于某种原因 我需要 请耐心等待 使用 System Text Encoding 命名空间的 WinRT 版本 我可以手动添加对程序集的引用等 但它仍然会使用 mscorlib 的实现 而且我显然无法完全删除 mscorlib 如何强制我的
  • stargazer type = "html" 表输出中列之间的空格

    我正在寻找一种方法 或替代方案 来获取 stargazer html table 输出的列之间的空格 As stargazer stargazer mtcars type html 结果是 这不太好读 提前致谢 Samuel 您还可以将 C
  • 在 shell 中重命名多个文件[重复]

    这个问题在这里已经有答案了 我在一个目录中有多个文件 例如 linux file1 mp4 linux file2 mp4等等 如何使用 shell 移动这些文件 以便名称为file1 mp4 file2 mp4等等 我有大约 30 个文件
  • 显示来自 Rails 应用程序的 Twitter feed

    我已经能够让用户通过 OmniAuth 登录 Twitter 我遵循 Railscast 235 6 并制作了一个简单的应用程序 现在我正在尝试显示已登录用户的 Twitter 提要 谁能告诉我这是怎么做到的 如何初始化 Twitter 如
  • Git http.proxy 设置

    我试图弄清楚这个 git 问题 有一次我搞乱了 http proxy 变量 现在这只是废话 asdf 所以推动不起作用 我不知道之前的代理设置是什么 我什至不知道代理服务器是什么 有什么方法可以将 http proxy 设置为正确的值吗 现
  • 将 Zookeeper 从 3.3.X 升级到 3.4.X 时,我需要了解哪些信息?

    我有一个 Zookeeper 整体 我想从 3 3 X 分支升级到 3 4 X 分支 这可以在实时集群上完成吗 需要停机吗 有什么说明可以在某处找到吗 据我检查 升级 ZooKeeper 有哪些选项 流程 有两种主要方法可以做到这一点 1
  • 数据报总是被完整接收吗?

    大多数数据报接收函数 例如c的recv或read java的DatagramPacket类或python的SocketServer 都包含找出接收数据量的可能性 c int amount recv sock buf n MSG WAITAL
  • ASP.NET Web API - OWIN - TokenEndPointPath 在 IIS 中不起作用

    我的startup cs 中有以下代码 当 Web API 项目部署到 IIS 中网站的根目录时 在 IIS Express 中设置 TokenEndpointPath 效果非常好 但是 如果我托管在 IIS 中的嵌套应用程序 即网站内的应
  • 使用php从linux访问windows共享文件夹

    我需要能够使用在 Linux 服务器上运行的 php 脚本访问多个 Windows 服务器上的一些共享文件夹 我只需要获取文件夹中包含的文件的名称以及创建它们的时间戳 到目前为止 我想到的唯一解决方案是在 Linux 中安装共享并从那里访问
  • C# 在锯齿状数组中快速查找值的方法

    我有一个锯齿状数组String 现在我需要找到具有特定值的数组String n 0 我现在所拥有的只是一个简单的 foreach foo in bar if foo 0 needle return foo 正如您所看到的 由于显而易见的原因
  • 在 setup.py 中安装 numpy + pandas 作为依赖项

    安装中numpy pandas通过 setuptools 作为 setup py 中的依赖项对我不起作用 这与缺少依赖项无关 如果我通过安装 numpypip install numpy然后python setup py develop一切
  • 将两种不同的字体样式应用于 TextView

    我想将两种不同的字体样式应用于单个 TextView 中的文本 我的情况与Android 两句话 两种样式 一个TextView https stackoverflow com questions 8999781 android two s
  • 检测客户端中止请求 Jersey

    我有 Jersey 提供轻松的网络服务 客户端经常会中止通过 ajax 完成的请求 使用 ajax 中止方法 如下所述中止 ajax 请求 https stackoverflow com questions 4551175 how to c
  • 构造函数中引发的异常的处理程序是什么? [复制]

    这个问题在这里已经有答案了 我是 C 异常处理的新手 我心中的规则是 如果没有找到异常处理程序调用链 函数调用的堆栈 然后终止函数被调用 处理程序是一个catch block 但是 我无法理解以下行为 include
  • Java重复模式匹配

    我正在尝试获取 Java 中简单正则表达式的每个重复匹配项 它匹配 中包含的任何字符串 只要它不包含 字符 例如 它会匹配 a nice repetitive pattern 事先不知道存在多少个这样的组 并且我无法找到通过模式匹配器访问各