Javascript 在每个单词Regex上加下划线
我只需要在VsCode中查找并替换以下单词集Javascript 在每个单词Regex上加下划线,javascript,regex,visual-studio-code,Javascript,Regex,Visual Studio Code,我只需要在VsCode中查找并替换以下单词集 t("US.TL.PACKAGES:installmentDetail.discount") 我因为跟随而感到很累 (?:US\.TL\.PACKAGES:)([a-z])([A-Z]) 但是当我使用 ([a-z])([A-Z]) 这将捕获字符串中的所有上限 我需要按每个生词分组 installment Detail discount 我用下划线表示 \1_\2 in Replace 最终产量 US.TL.PACKAGE
t("US.TL.PACKAGES:installmentDetail.discount")
我因为跟随而感到很累
(?:US\.TL\.PACKAGES:)([a-z])([A-Z])
但是当我使用
([a-z])([A-Z])
这将捕获字符串中的所有上限
我需要按每个生词分组
installment Detail discount
我用下划线表示
\1_\2 in Replace
最终产量
US.TL.PACKAGES:INSTALLMENT_DETAILS.DISCOUNT
以下内容可以在搜索和替换工具中使用,而不是在文件中查找/替换功能(使用Ctrl+Shift+F打开)中使用,因为后者使用另一个旧的正则表达式引擎,而前者使用与大多数主要JavaScript环境相同的现代ECMAScript 2018+兼容引擎:
US.TL.PACKAGES:
string之后的非空白文本中的每个大写字母和小写字母之间插入下划线:(?因此您希望在US.TL.PACKAGES:
?@WiktorStribiżew之后的非空白块中的上下字母之间插入下划线exactly@JvdV更新it@WiktorStribiżew这似乎并没有忽略US.TL.packages(?:US\.TL\.packages\:)([a-z])([a-z])
,所以,您想要使用(?极好。它像魔术一样工作:)