![我应该在正则表达式中使用哪些术语来代替 /b,以不受 MS Word 或其同类中的控制字符的干扰?](https://linux22.com/image/1331846/%E6%88%91%E5%BA%94%E8%AF%A5%E5%9C%A8%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E4%B8%AD%E4%BD%BF%E7%94%A8%E5%93%AA%E4%BA%9B%E6%9C%AF%E8%AF%AD%E6%9D%A5%E4%BB%A3%E6%9B%BF%20%2Fb%EF%BC%8C%E4%BB%A5%E4%B8%8D%E5%8F%97%20MS%20Word%20%E6%88%96%E5%85%B6%E5%90%8C%E7%B1%BB%E4%B8%AD%E7%9A%84%E6%8E%A7%E5%88%B6%E5%AD%97%E7%AC%A6%E7%9A%84%E5%B9%B2%E6%89%B0%EF%BC%9F.png)
答案1
按照您在评论中给出的示例,我建议\b
在开头删除。当然这不是最佳选择,而且它可能会在您不想要时触发扩展,但您输入以“oic”结尾的单词的频率是多少?
一个更优雅的解决方案是这样的:
hotstrings("([^a-zA-Z])oic"tailchar,"%$1%Officer in Charge (OIC)%$2%")
但不幸的是我无法测试这个因为我似乎无法让 DynamicHotstring 工作 :/
答案2
正则表达式只能处理您设置的内容。它们不假定您有粗体字符或其他类型的格式字符。如果您打算捕获这些字符,则必须在正则表达式中包含这些字符。
例子:
/\bsomething\b/
使任一端都变为可选的粗体:
/\b\u0002*something\u0002*\b/
我想看看是否有办法在你使用的程序中去掉这些字符。唯一能够避免使用这些字符本身的方法是让程序在尝试匹配正则表达式之前去掉它们。