javascript - Ingore 单词并在每个单词正则表达式上加上下划线
问题描述
我只需要找到并替换 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.PACKAGES:INSTALLMENT_DETAILS.DISCOUNT
解决方案
以下内容可以在搜索和替换工具中使用,而不是在文件中的查找/替换功能(以Ctrl+Shift+F开头)中使用,因为后者使用另一个旧的正则表达式引擎,而前者使用现代 ECMAScript 2018+ 兼容引擎,就像在大多数主要 JavaScript 中一样环境:
US.TL.PACKAGES:
在字符串后的非空白文本条纹中的每个小写字母和大写字母之间插入下划线:
(?<=\bUS\.TL\.PACKAGES:\S*?[a-z])(?=[A-Z])
替换为单纯的_
. 确保Aa
选中该选项,因为匹配必须区分大小写:
US.TL.PACKAGES:
在字符串大写之后的非空白文本条纹中创建所有字母条纹:
(?<=\bUS\.TL\.PACKAGES:\S*?)[A-Za-z]+
替换为\U$0
。
结果是
推荐阅读
- python - Django 站点地图在 Heroku 上使用双 https:// 生成
- angular - 角度无限循环
- reactjs - 如果我在 React 应用程序中使用 Typescript,我还应该使用 PropTypes 吗?
- c# - 操纵 Windows“用户”组而不访问域?
- kubernetes - 用于调用 K8 api 的 Kubernetes 身份验证方法?
- javascript - 带有滚动但阻止编辑的HTML文本区域?
- mongodb - 在 mongo 中查找树层次结构
- c# - 在 C# 中为 200 000+ 行寻找快速数据库到对象映射器
- swiftui - 每次渲染正文时都会调用 SwiftUI Picker onReceive()
- python - 是否可以区分 Python 中具有相同变量的两个对象?