正则表达式 \b 后跟 Keyboard Maestro 中的符号

Regex \b followed by symbol in Keyboard Maestro

我确定对此有一个非常简单的答案,但我找不到!

在 Keyboard Maestro 中,我尝试将触发器设置为分号后跟几个字符之一的正则表达式,如下所示:

;[.,\s]

当我这样说时,它起作用了,但我只希望触发器在分号单独存在时触发(在句子的开头,或在 space 之后)。我认为这可以解决问题:

\b;[,.\s]

...但是当我输入边界字符时,它不起作用。我究竟做错了什么?谢谢!

(我应该补充一点,当边界字符后跟字母数字字符时工作正常,所以它似乎只是符号的问题)

您应该使用相反的结构,因为 space 或字符串开头与分号之间没有单词边界:

\B;[,.\s]
^^

这里,\B是一个非单词边界,匹配所有word boundary不匹配的位置。在这种特定情况下,; 将匹配 only 在字符串 or 的开头,如果前面有一个非单词字符( letter/digit/_ 以外的任何字符,并且根据正则表达式库,其他(非常罕见的)字符被认为是 "word" 个字符。