Advertisement
Help Keep Boards Alive. Support us by going ad free today. See here: https://subscriptions.boards.ie/.
If we do not hit our goal we will be forced to close the site.

Current status: https://keepboardsalive.com/

Annual subs are best for most impact. If you are still undecided on going Ad Free - you can also donate using the Paypal Donate option. All contribution helps. Thank you.
https://www.boards.ie/group/1878-subscribers-forum

Private Group for paid up members of Boards.ie. Join the club.

regexp question.

  • 06-08-2006 01:18PM
    #1
    Registered Users, Registered Users 2 Posts: 21,264 ✭✭✭✭


    Trying to figure out what this is supposed to be doing (I don't have the input text for it :/ ).

    This is what is searching for.

    "(?i)\\b" + value + "\\b"


Comments

  • Closed Accounts Posts: 139 ✭✭utopian


    Hobbes wrote:
    Trying to figure out what this is supposed to be doing (I don't have the input text for it :/ ).

    This is what is searching for.

    "(?i)\\b" + value + "\\b"

    This should match \bvalue\b case-insensitively.

    The (?i) turns on the case-insensitive modifer, and the \\ is an escaped \.


  • Registered Users, Registered Users 2 Posts: 21,264 ✭✭✭✭Hobbes


    As far as I Could see the \b means backspace?

    I had a problem with some code and traced it to that regexp. Oddly enough as soon as I remarked out that line everything worked fine.


  • Closed Accounts Posts: 139 ✭✭utopian


    Hobbes wrote:
    As far as I Could see the \b means backspace?

    I had a problem with some code and traced it to that regexp. Oddly enough as soon as I remarked out that line everything worked fine.

    Or a word boundary i.e. the writer wants to match "value" on its own (not valued etc.).

    However, the \\b escapes the backslash, so evaluates to the literal '\b'. I presume this is not what the writer intended.

    Having said that, in some languages, you may need to use \\b to have \b sent to the regexp parser. In python, you get around this by using raw strings e.g. re.compile(r'\bvalue\b') is equivalent to re.compile("\\bvalue\\b").

    Edit: lots more on word boundaries


Advertisement