这是我的用例。我有基于文件名调用的不同文件处理模块。因此,如果文件名与与某个模块关联的模式匹配,则该模块将获取该文件。我定义了一个 catch all 模式,用于进行默认处理,但是只有在我没有更好的匹配时才应该使用这种模式。
考虑以下场景
Pattern 1 - Sample_[0-9]*.xls
Pattern 2 - [a-zA-Z]*_[0-9]*.xls
现在给定一个文件"Sample_11"
,我希望将模式 1 应用为比模式 2 更好的匹配,但是该方法 java.util.regex.Pattern.matcher().matches()
只返回 true 或 false。有什么方法可以确定什么是更好的匹配?
编辑:模式是在系统外部定义的(这是一个奇怪的用例),所以我不能按照许多人的建议对它们进行排序。从某种意义上说,我正在寻找推断匹配的结果以决定这是否是最佳匹配。希望这能澄清我的问题。
谢谢,
拉姆