我开发了一个UI,允许用户定义正则表达式模式,然后是appendReplacement()
使用的替换字符串。
e.g。
所以71234会产生1234。
无论如何,我可以验证输入模式和替换模式是否兼容,而无需用户输入匹配的字符串?例如,如果替换模式是$1$2
,那么这将在运行时抛出异常。我可以提前检查吗?
编辑:
最终解决方案是按照aioobe的建议进行,并通过创建一个虚拟匹配器来获取组计数(不确定为什么这个方法不在Pattern TBH上),然后手动手动解析替换字符串以查找哪些$ group引用存在。有点繁琐但有效。
答案 0 :(得分:2)