Исправления багов поиска по рег. выражению

This commit is contained in:
Book Pauk
2022-12-09 18:31:41 +07:00
parent 85bf7296ef
commit bd2551559b
3 changed files with 8 additions and 8 deletions

View File

@@ -391,8 +391,8 @@ export default class BaseList {
} else if (searchValue[0] == '~') {//RegExp } else if (searchValue[0] == '~') {//RegExp
searchValue = searchValue.substring(1); searchValue = searchValue.substring(1);
const re = new RegExp(searchValue, 'gi'); const re = new RegExp(searchValue, 'i');
return re.exec(bookValue); return re.test(bookValue);
} else { } else {
//where = `@dirtyIndexLR('value', ${db.esc(a)}, ${db.esc(a + maxUtf8Char)})`; //where = `@dirtyIndexLR('value', ${db.esc(a)}, ${db.esc(a + maxUtf8Char)})`;
return bookValue.localeCompare(searchValue) >= 0 && bookValue.localeCompare(searchValue + maxUtf8Char) <= 0; return bookValue.localeCompare(searchValue) >= 0 && bookValue.localeCompare(searchValue + maxUtf8Char) <= 0;

View File

@@ -71,8 +71,8 @@ class DbSearcher {
a = a.substring(1); a = a.substring(1);
where = ` where = `
await (async() => { await (async() => {
const re = new RegExp(${db.esc(a)}, 'gi'); const re = new RegExp(${db.esc(a)}, 'i');
@@indexIter('value', (v) => re.exec(v) ); @@indexIter('value', (v) => re.test(v) );
})() })()
`; `;
} else { } else {
@@ -577,8 +577,8 @@ class DbSearcher {
return ` return `
(() => { (() => {
const re = new RegExp(${db.esc(searchValue)}, 'gi'); const re = new RegExp(${db.esc(searchValue)}, 'i');
return re.exec(row.${bookField}); return re.test(row.${bookField});
})() })()
`; `;
} else { } else {

View File

@@ -256,8 +256,8 @@ class BasePage {
} else if (searchValue[0] == '~') {//RegExp } else if (searchValue[0] == '~') {//RegExp
searchValue = searchValue.substring(1); searchValue = searchValue.substring(1);
const re = new RegExp(searchValue, 'gi'); const re = new RegExp(searchValue, 'i');
return re.exec(bookValue); return re.test(bookValue);
} else { } else {
//where = `@dirtyIndexLR('value', ${db.esc(a)}, ${db.esc(a + maxUtf8Char)})`; //where = `@dirtyIndexLR('value', ${db.esc(a)}, ${db.esc(a + maxUtf8Char)})`;
return bookValue.localeCompare(searchValue) >= 0 && bookValue.localeCompare(searchValue + maxUtf8Char) <= 0; return bookValue.localeCompare(searchValue) >= 0 && bookValue.localeCompare(searchValue + maxUtf8Char) <= 0;