我确信这有一个非常简单的答案,但我找不到它!
在Keyboard Maestro中,我试图将触发器设置为分号的正则表达式,后跟几个字符之一,如下所示:
;[.,\s]
当我这样说的时候,它可以工作,但我只想在分号独立时(在句子的开头或空格后)触发触发器。我认为这可以解决问题:
\b;[,.\s]
...但是当我把边界字符放入时,它不起作用。我究竟做错了什么?谢谢!
(我应该补充一点,当后面跟着一个字母数字字符时,边界字符工作正常,所以它似乎只是一个符号问题)
答案 0 :(得分:1)
你应该使用相反的结构,因为空格或字符串的开头和分号之间没有单词边界:
\B;[,.\s]
^^
此处,\B
是一个非字边界,匹配word boundary不匹配的所有位置。在这种特定情况下,如果前面带有非单词字符(除字母之外的任何字符),;
将匹配字符串或开头的 / digit / _
并且,根据正则表达式库,其他(非常罕见的)字符被认为是"字"字符。