我想从这样的台词中了解到:
#define FACILITY_USERMODE_HYPERVISOR 53用于像这样的一行,用于枚举:
zFacilityUsermodeHypervisor = FACILITY_USERMODE_HYPERVISOR,一个快速的regex替换做了一半的技巧,有一个快速的方法来获得完整的结果吗?
Regex: #define (FACILITY_\w+)\s+(\d+)
Replace: $1 = $1,这给我留下了
FACILITY_USERMODE_HYPERVISOR = FACILITY_USERMODE_HYPERVISOR,我将如何将第一部分转换为CamelCase?
发布于 2016-06-10 20:51:43
对于不支持\l / \u和\L / \U .替换模式中的\E操作符的VS S&R来说,这绝对太难了。
我建议用3步骤在Notepad++中实现它
#define (FACILITY_\w+)(?=\s+\d+) regex,见演示)转换为#define (FACILITY_\w+)(?=\s+\d+)大小写所需的标识符。你的#define FACILITY_USERMODE_HYPERVISOR 53会变成#define FACILITY_USERMODE_HYPERVISOR %%% FACILITY_USERMODE_HYPERVISOR 53。\u$1\L$2\E替换后的第一次出现标识符时应用(?:#define\s+|(?!^)\G)\K_?([A-Za-z])([^\W_]*)_?(?=[\w\s]*%%%)大小写。所以,#define FACILITY_USERMODE_HYPERVISOR %%% FACILITY_USERMODE_HYPERVISOR 53会变成#define FacilityUsermodeHypervisor %%% FACILITY_USERMODE_HYPERVISOR 53。

#define (Facility\w*)\s+%%%\s+(\w+)\s+\d+ regex和z$1 = $2,替换(见演示)。https://stackoverflow.com/questions/37752061
复制相似问题