我做了一个小型搜索引擎,我有基于正则表达式的搜索。我需要制作topological sorting正则表达式。 我想要的一个小例子。
如果我使用子字符串搜索,我可以搜索" abc"," bc"," bcd"和" abcd"。 " BC"是最通用的字符串,它返回" abc"," bcd"的所有结果。和" abcd"。 " ABC"和" bcd"比" abcd"更通用。 但是" abc"和" bcd"是不可比的。
简单案例:
var bcRegex = /bc/;
var abcRegex = /abc/;
var bcdRegex = /bcd/;
var abcdRegex = /abcd/;
function regexComparator(regex1, regex2){...}
regexComparator(bcRegex, abcRegex); // => greater
regexComparator(abcRegex, bcRegex); // => lesser
regexComparator(bcRegex, bcRegex); // => equal
regexComparator(abcRegex, bcdRegex); // => uncomparable
对于任何正则表达式,是否可以在常见情况下使用regexComparator进行拓扑排序?