I want to match string ending with \')\' . I use pattern :
\"[)]\\b\" or \".*[)]\\b\"
It should match the string :
x=main2
The \b
word boundary is ambiguous: after a word character, it requires that the next character must a non-word one or the end of string. When it stands after a non-word char (like )
) it requires a word character (letter/digit/underscore) to appear right after it (not the end of the string here!).
So, there are three solutions:
\B
(a non-word boundary): .*[)]\B
(see demo) that will not allow matching if the )
is followed with a word character.*[)]$
with MULTILINE
mode (add (?m)
at the start of the pattern or add the /m
modifier, see demo).*[)](\r?\n|$)
(see demo)