javascript - 正则表达式拆分 Camel 案例

标签 javascript regex

我在 JavaScript 中有一个正则表达式,使用以下代码(我随后从 here 获得)将我的驼峰式字符串拆分为大写字母:

"MyCamelCaseString"
    .replace(/([A-Z])/g, ' $1')
    .replace(/^./, function(str){ return str.toUpperCase(); })

因此返回:

"My Camel Case String"

哪个好。但是,我想更进一步。有人可以帮我一个正则表达式,当且仅当前一个字符是小写字母而后者是大写字母时,它才会拆分。

因此,上面的示例将是我期望的结果,但如果我这样做:

"ExampleID"

然后我返回:

"Example ID"

代替

"Example I D"

因为它在每个大写字母处拆分并忽略它之前的任何内容。

希望这是有道理的!谢谢 :)。

最佳答案

我的猜测是将 /([A-Z])/ 替换为 /([a-z])([A-Z])/' $1''$1 $2'

"MyCamelCaseString"
    .replace(/([a-z])([A-Z])/g, '$1 $2');

/([a-z0-9])([A-Z])/ 将数字计为小写字符

console.log("MyCamelCaseStringID".replace(/([a-z0-9])([A-Z])/g, '$1 $2'))

关于javascript - 正则表达式拆分 Camel 案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18379254/

相关文章:

javascript - jQuery 跳转滚动

javascript - 处理共享辅助函数的 React 方式是什么?

mysql - 如何将此正则表达式转换为 mysql posix

regex - 仅从字符串中提取捕获组

php - 如何删除前导和尾随非字母数字字符

Javascript 长度值与文本区域不一致或不正确

javascript - 无法根据需要在导航栏中显示项目

javascript - 查找最多 9 个数字 - 快速

java - 不受字符限制的字符串的正则表达式模式

ruby - 什么是触发器运算符?