Исправления багов поиска по рег. выражению
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user