Java递归(?)重复(?)深(?)模式匹配
发布时间:2020-12-14 19:16:01 所属栏目:Java 来源:网络整理
导读:我正在尝试获取输入字符串中与给定模式匹配的所有子字符串. 例如, 给定字符串:aaxxbbaxb 模式:a [a-z] {0,3} b (我实际想要表达的是:所有以a开头并以b结尾的模式,但在它们之间最多可以包含2个字母) 我想要的确切结果(及其索引): aaxxb:索引0~4 axxb:指
我正在尝试获取输入字符串中与给定模式匹配的所有子字符串. 例如, 给定字符串:aaxxbbaxb 我想要的确切结果(及其索引): aaxxb:索引0~4 但是当我使用Pattern.compile()和Matcher.find()运行Pattern和Matcher类时,它只给了我: aaxxb:索引0~4 这是我用过的一段代码.
如何检索与模式匹配的每一个字符串? 当然,它不必使用Pattern和Matcher类,只要它有效:) 最佳答案
(见:All overlapping substrings matching a java regex)
这是我提出的完整解决方案.它可以处理原始正则表达式中的零宽度模式,边界等.它查看文本字符串的所有子字符串,并通过在开头和结尾用适当数量的通配符填充模式来检查正则表达式是否仅在特定位置匹配.它似乎适用于我尝试的案例 – 虽然我没有做过广泛的测试.它肯定效率低于它可能的效率.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |