gpt4 book ai didi

java - 测试 Java 正则表达式appendReplacement()

转载 作者:行者123 更新时间:2023-11-30 05:10:03 26 4
gpt4 key购买 nike

我开发了一个 UI,允许用户定义正则表达式模式,然后定义 appendReplacement() 使用的替换字符串。

例如

  • 模式 - 7(.*)
  • 替换图案 - $1

因此 71234 将产生 1234。

我是否可以验证输入模式和替换模式是否兼容,而无需用户输入匹配的字符串?例如,如果替换模式是 $1$2 那么这将在运行时抛出异常。我可以提前检查一下吗?

编辑:

最终的解决方案是按照 aioobe 的建议进行操作,并通过创建一个虚拟匹配器来获取组计数(不确定为什么此方法不在 Pattern TBH 上),然后手动解析替换字符串以查找存在哪些 $ group 引用。有点繁琐但有效。

最佳答案

那么,你可以这样做:

yourPattern.matcher("").groupCount();

groupCount()将返回捕获组的数量(至少可以将其视为用户可以引用的上限)。

关于java - 测试 Java 正则表达式appendReplacement(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3750173/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com