试图用regex完成以下操作:
在以0开头的行中,我希望将单词从BLA_BLA更改为Bla (删除下划线,然后转换为小写,保留每个单词大写的第一个字母)。
原件:
ACACIA_STAIRS:
0: ACACIA_STAIRS
ACACIA_TRAPDOOR:
0: ACACIA_TRAPDOOR
ACACIA_WOOD:
0: ACACIA_WOOD
ACTIVATOR_RAIL:
0: ACTIVATOR_RAIL
AIR:
0: AIR
ALLIUM:
0: ALLIUM
ANDESITE:
0: ANDESITE员额查找/替换:
ACACIA_STAIRS:
0: Acacia Stairs
ACACIA_TRAPDOOR:
0: Acacia Trapdoor
ACACIA_WOOD:
0: Acacia Wood
ACTIVATOR_RAIL:
0: Activator Rail
AIR:
0: Air
ALLIUM:
0: Allium
ANDESITE:
0: Andesite任何帮助都是非常感谢的!下面是我要转换的完整文件:https://pastebin.com/raw/mKFcn9FM
发布于 2018-09-22 06:20:01
Notepad++ (由于它支持boost语法)支持替换字符串中的条件语句,因此在将这些字母转换为小写形式以及同时用空格字符替换下划线时没有问题。
(?>^\h*0:\W+\K|\G(?!^))(.)([a-zA-Z]+)(_+)?而代之以
\U$1\L$2(?3 )Regex分解:
(?> # Start of non-capturing group (atomic)
^\h*0:\W+\K # Match beginning of line following a sequence of spaces
# following `0:` and some non-word characters
# then forget all (\K)
| # Or
\G(?!^) # Continue from previous match
) # End of non-capturing group
(.) # Capture first letter
([a-zA-Z]*) # Capture the rest of letters
(_+)? # Capture underscores, optionallyhttps://stackoverflow.com/questions/52453221
复制相似问题