與最大匹配的字符串行說我有這樣的:查找橫跨兩列
page_url | canvas_url
---------------------------------------------------------------
http://www.google.com/ | http://www.google.com/barfoobaz
http://www.google.com/foo/bar | http://www.google.com/foo
我想找到我的字符串的最長匹配下令開始行。我面臨的問題是找到最長的匹配字符串,而不是匹配的行也匹配。即
http://www.google.com/foo匹配行1 page_url
和第2行,但如果它的兩列的長度,而不是匹配它會認爲第1行是更好的匹配爲行1更長。
我可以抓住所有的比賽,然後在代碼過濾長度做這樣的事情:
或執行2個subselections抓的各page_url
最匹配,然後篩選到1碼,但我寧願(除了任何荒謬的性能問題)擁有數據庫只是返回我需要的東西。
我的直接問題是MySQL,但我需要針對SQLite和Postgress,所以我很樂意回答這些問題。
對此提出建議?
我不明白。爲什麼row1的page_url匹配「http:// www.google.com/hi」?第1行中的page_url在末尾沒有「hi」...您是否在嘗試查找與您的搜索字符串具有最多字符的網址?還是別的?也許你可以擴展你的例子,更清楚地顯示哪些字符串匹配什麼網址,然後是什麼使一個網址優先於另一個網址? – MatBailie
@Dems啊有人發現,我以爲自己陷入了一個角落。我會解決這個問題。 –
@Dems更新更好的例子,抱歉。 –