regex to match word boundary beginning with special characters

后端 未结 2 1878
时光取名叫无心
时光取名叫无心 2020-11-27 23:50

I have regex that matches words fine except if they contain a special character such as ~Query which is the name of a member of a C++ class. Need to use word boundary as sh

2条回答
  •  独厮守ぢ
    2020-11-28 00:07

    \b
    

    is short for

    (?:(?

    If you want to treat ~ as a word character, change \w to [\w~].

    (?:(?

    Example usage:

    my $word_char = qr/[\w~]/;
    my $boundary  = qr/(?

    If we know $match can only match something that starts and ends with a $word_char, we can simplify as follows:

    my $word_char   = qr/[\w~]/;
    my $start_bound = qr/(?

    This is simple enough that we can inline.

    $key =~ /(?

提交回复
热议问题