🐛 查找替换中使用正则表达式后替换不正确 https://github.com/siyuan-note/siyuan/issues/6722

This commit is contained in:
Liang Ding 2022-11-28 17:53:41 +08:00
parent 436cab9f68
commit b1741d31de
No known key found for this signature in database
GPG key ID: 136F30F901A2231D

View file

@ -545,7 +545,7 @@ func fullTextSearchByRegexp(exp, box, path, typeFilter string, beforeLen int) (r
exp = gulu.Str.RemoveInvisible(exp)
fieldFilter := fieldRegexp(exp)
stmt := "SELECT * FROM `blocks` WHERE " + fieldFilter + " AND type IN " + typeFilter
stmt := "SELECT * FROM `blocks` WHERE (" + fieldFilter + ") AND type IN " + typeFilter
if "" != box {
stmt += " AND box = '" + box + "'"
}
@ -767,30 +767,30 @@ func fieldRegexp(regexp string) string {
buf := bytes.Buffer{}
buf.WriteString("content REGEXP '")
buf.WriteString(regexp)
buf.WriteString("' ")
buf.WriteString("'")
if Conf.Search.Name {
buf.WriteString(" OR name REGEXP '")
buf.WriteString(regexp)
buf.WriteString("' ")
buf.WriteString("'")
}
if Conf.Search.Alias {
buf.WriteString(" OR alias REGEXP '")
buf.WriteString(regexp)
buf.WriteString("' ")
buf.WriteString("'")
}
if Conf.Search.Memo {
buf.WriteString(" OR memo REGEXP '")
buf.WriteString(regexp)
buf.WriteString("' ")
buf.WriteString("'")
}
if Conf.Search.Custom {
buf.WriteString(" OR ial REGEXP '")
buf.WriteString(regexp)
buf.WriteString("' ")
buf.WriteString("'")
}
buf.WriteString(" OR tag REGEXP '")
buf.WriteString(regexp)
buf.WriteString("' ")
buf.WriteString("'")
return buf.String()
}