Merge pull request #14257 from grafana/davkal/fix-14250

Explore: Fix logging query parser for regex with quantifiers
This commit is contained in:
Torkel Ödegaard 2018-12-03 12:25:10 +01:00 committed by GitHub
commit d16b348868
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 2 deletions

View File

@ -42,4 +42,15 @@ describe('parseQuery', () => {
regexp: '',
});
});
it('returns query and regexp with quantifiers', () => {
expect(parseQuery('{foo="bar"} \\.java:[0-9]{1,5}')).toEqual({
query: '{foo="bar"}',
regexp: '\\.java:[0-9]{1,5}',
});
expect(parseQuery('\\.java:[0-9]{1,5} {foo="bar"}')).toEqual({
query: '{foo="bar"}',
regexp: '\\.java:[0-9]{1,5}',
});
});
});

View File

@ -1,11 +1,11 @@
const selectorRegexp = /{[^{]*}/g;
const selectorRegexp = /(?:^|\s){[^{]*}/g;
export function parseQuery(input: string) {
const match = input.match(selectorRegexp);
let query = '';
let regexp = input;
if (match) {
query = match[0];
query = match[0].trim();
regexp = input.replace(selectorRegexp, '').trim();
}