使用正则表达式替换vector访问方式
v.at(xxx)与v[xxx]之间的替换
v.at\(.*?\)
替换为
v[$1]
说明:
$1
表示第一个段域
.*
表示匹配任意长度的字符串,regex默认为饿汉模式,即匹配尽可能长的字符串,那么v.at(5) + v.at(16)就会将 “5) + v.at(16” 匹配成$1,从而导致误替换。那么加上“?”后,变为懒汉模式即可避免这种情况。
使用正则表达式提取log中所有DSPChassis插件发布的内容
在vscode 中有一个选择所有匹配项的功能 ctrl+shift+L 。
log中发布的DSPChassis,例子为:
[2017-10-25 15:06:05.835379][DSPChassis][info][DSPChassis::warningUDPThreadFunc] warning port: Sick encoder timeout
匹配正则表达式可以是:
(^.*[DSPChassis].*$)
选中后,按 ctrl+shift+L 选中匹配项,然后ctrl + c复制选中内容即可
正则表达式提取UID
log中UID的例子为:
[2018-01-15 16:49:42.536838][DSPChassis][info][DSPChassis::confirmUID] ************ 250024000251363332363934 ************
其中一片星号间的为UID,为一个96位的字符串。
96位即12字节,24个字符。
提取表达式为:
UID] \*{12} (.{24}) \*{12}