Make whole-word filter regex consistent between Ruby and JS (#7987)
This commit is contained in:
parent
1ca4e51eb3
commit
20fefdb714
2 changed files with 14 additions and 2 deletions
|
@ -47,7 +47,18 @@ export const regexFromFilters = filters => {
|
|||
|
||||
return new RegExp(filters.map(filter => {
|
||||
let expr = escapeRegExp(filter.get('phrase'));
|
||||
return filter.get('whole_word') ? `\\b${expr}\\b` : expr;
|
||||
|
||||
if (filter.get('whole_word')) {
|
||||
if (/^[\w]/.test(expr)) {
|
||||
expr = `\\b${expr}`;
|
||||
}
|
||||
|
||||
if (/[\w]$/.test(expr)) {
|
||||
expr = `${expr}\\b`;
|
||||
}
|
||||
}
|
||||
|
||||
return expr;
|
||||
}).join('|'), 'i');
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue