java - 查找具有重复模式的重复模式

标签 java regex

我得到一个非常大的字符串,其中包含 n 条记录。每条记录由 3 组文本组成,前 3 组用尖括号括起来。每组文本的长度为 1-n 个字符。这个整体模式在字符串中重复 1-n 次。 (参见下面的示例)。

<text1a><text2a><text3a>text4a<text1b><text2b><text3b>text4b<text1c><text2c><text3c>text4c
|--------single record-------||-------single record--------||-------single record--------|

使用上面的内容作为输入字符串,我正在尝试开发一个模式匹配器,它将返回字符串中的每个单独记录。我尝试了很多变体,但要么什么也没有得到,只有第一条记录,或者整个字符串。我读过很多关于重复模式的文章,并尝试应用这些原则,但收效甚微。我成功地找到了 IP 地址、电话号码和其他可能在给定字符串中重复的模式,但我找不到这种模式。提前致谢。

最佳答案

我正在用 Java 实现这个。我找到的解决方案是以下模式...

 String patternString = "(\\[.*?\\]){3}([^\\[])*";
 Pattern pattern = Pattern.compile(patternString);

此模式将匹配由 3 个括号部分组成的记录(较大字符串的子字符串),其中包含任意数量的字符,后跟任意数量的字符(括号除外(表示新记录))

感谢您的帮助。

关于java - 查找具有重复模式的重复模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27572367/

相关文章:

javascript - 在列表中查找带有扩展名的文件名

java - 将文件上传到服务器保存的文件包含无效字符

java - launch4j 编译的 java 应用程序可执行文件被防病毒软件阻止

java - Android Launcher3 - Google 即时页面

asp.net-mvc - 为什么使用此正则表达式时 ASP.NET-MVC 路由的 UrlParameter.Optional 被忽略?

regex - 查找所有 DOM 事件监听器的正则表达式

javascript - 将 anchor 替换为它的innerHTML

java - Spring 的多重依赖

java - 让用户通过应用程序连接数据库的正确方法

java - 将字符串转换为日期 - 日期验证