如何用A正则表达式判断是否在B正则表达式匹配范围内?

有两个Pattern如下所示

String pattern1 = "A775[0-9A-Z]";
String pattern2 = "A7750|A7756";

我如何用java判断pattern2的匹配范围在pattern1范围之内呢?
请各位大牛帮忙看一下

阅读 3.8k
4 个回答

如果你有足够多的数据样本字符串, 你可以用统计学的思路来比较,即用这两个模式来匹配所有的样本,得到两个匹配结果集,再对结果集进行集合操作比较。

传统方法很难做到,此类问题可以通过深度学习,神经网络模型来解决(可以用google的tensorflow试试)。但是有两个难点(其实是人力):

  • 足够多的学习样本,即正则表达式,以两两为一对,告诉模型结果,包含还是非包含
  • 初步训练完成后,输入测试数据,同样以两两正则表达式为一对,可以先人工校验结果,不对加一修正

当样本足够多,模型训练达到一定水平后,此『网络模型』就具有了判断『两两正则表达式是否包含』的这一推理

没有简单的方式可以做到,必须自己解析。但是难度很高(如果只是你这个例子还好,但如果要做普适是非常困难的)

可以这么说,做不到

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题