Highlighting when brackets involved?

Posted by Hurriedcorgi on Tue 22 Nov 2011 07:47 AM — 3 posts, 16,922 views.

USA #0
Here is the trigger:

<triggers>
<trigger
custom_colour="17"
enabled="y"
group="Highlighted Words"
ignore_case="y"
keep_evaluating="y"
match="\b\[Cockatrice\]\b"
regexp="y"
repeat="y"
sequence="90"
other_text_colour="yellow"
>
</trigger>
</triggers>

The output (and problem):
[Cockatrice] Rusul says,

If I try to get it to just highlight Cockatrice without the brackets in the trigger - it will highlight every instance of the word. I want it to highlight the Cockatrice com channel only; thus, I need it to detect and highlight those brackets too. I've tried everything I can think of - including searching all over the forum and help and just can't get it to work. Thanks in advance for the help!
Amended on Tue 22 Nov 2011 07:48 AM by Hurriedcorgi
USA #1
There are two immediate possibilities. One: use regex lookbehind/lookahead, effectively matching the [ and ] without including them. That would look like \b(?<=\[)Cockatrice(?=\])\b if I'm not mistaken. Possibly the simplest solution here, but it might not work well in more general cases. (Info on lookaround here: http://www.regular-expressions.info/lookaround.html)

A more general solution would be having two triggers. The first matches [Cockatrice], but doesn't do anything to it. Instead, it enables the second trigger, which only matches Cockatrice (and only once on the line), highlights it, then disabling itself.

([EDIT]: Reading your solution below, and re-reading the problem above, I think I misinterpreted the issue. :/ )
Amended on Tue 22 Nov 2011 08:35 AM by Twisol
USA #2
Works perfect. Took me forever to figure out but it's this simple.

<triggers>
<trigger
custom_colour="17"
enabled="y"
group="Highlighted Words"
ignore_case="y"
keep_evaluating="y"
match="\[Cockatrice\]"
regexp="y"
repeat="y"
sequence="90"
other_text_colour="cadetblue"
>
</trigger>
</triggers>