From 87bcc2eb1c8637693be25ec4da9a31ba6ef6c523 Mon Sep 17 00:00:00 2001 From: Angus Leeming Date: Tue, 12 Nov 2002 13:53:47 +0000 Subject: [PATCH] Simplify BRE. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5618 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/controllers/ChangeLog | 1 + src/frontends/controllers/biblio.C | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/frontends/controllers/ChangeLog b/src/frontends/controllers/ChangeLog index aaea7abd25..8d99afc6ad 100644 --- a/src/frontends/controllers/ChangeLog +++ b/src/frontends/controllers/ChangeLog @@ -1,6 +1,7 @@ 2002-11-12 Angus Leeming * ControlSpellchecker.C (check): fix crash + * biblio.C (escape_special_chars): simplify BRE. 2002-11-07 Edwin Leuven diff --git a/src/frontends/controllers/biblio.C b/src/frontends/controllers/biblio.C index 01f1d07e65..f4d978cc88 100644 --- a/src/frontends/controllers/biblio.C +++ b/src/frontends/controllers/biblio.C @@ -243,9 +243,11 @@ namespace { // These characters are literals when preceded by a "\", which is done here string const escape_special_chars(string const & expr) { - // Search for all chars .|*?+(){}[]^$\ - // Note that they must be escaped in the RE. - boost::RegEx reg("[\\.\\|\\*\\?\\+\\(\\)\\{\\}\\[\\]\\^\\$\\\\]"); + // Search for all chars .|*?+(){}[^$]\ + // Note that '[', ']' and '\' must be escaped. + // This is a limitation of boost::regex, but all other chars in BREs + // are assumed literal. + boost::RegEx reg("[.|*?+(){}^$\\[\\]\\\\]"); // $& is a perl-like expression that expands to all of the current match // The '$' must be prefixed with the escape character '\' for