我需要匹配电影的质量并订购它们。该值可以在标题中找到
例。 “华尔街之狼 (2014) (HD, 1080p).mov”
我有一个匹配质量的正则表达式:
"\\d\\d\\d[\\d]*p"
出于某种原因,当我比较(compareTo)它们所订购的值时:
例如
1080p
1080p
480p
480p
480p
720p
720p
480p 列表高于 720p。我相信这是因为 p(?)。我想知道如何更改我的正则表达式以检查是否存在 p(因此标题中的年份不匹配,仅匹配质量)但排除匹配字符串中的 p。
最佳答案
可以使用正则表达式 "(\\d{3,4})p"
通过 Matcher.group(1)
从字符串中提取数字并将它们排序为数字,而不是字符串。字符串按字典顺序进行比较。
关于java - 正则表达式匹配以字符结尾但不包含该字符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36105560/