gpt4 book ai didi

javascript - 在 JavaScript 中插入下划线的正则表达式

转载 作者:行者123 更新时间:2023-11-30 20:16:56 26 4
gpt4 key购买 nike

<div id='x'>ThiIssss_SSSSMySites</div>
$('#x').text( $('#x').text().replace(/(?<=[a-zA-Z])(?=[A-Z])/, '_'))

预期的输出是:

Thi_Issss_S_S_S_S_My_Sites

基本上首字母即使是大写也不应该在前面加上下划线。如果没有在前面加上下划线,那么在发现大写字母的所有地方休息,然后在前面加上,我尝试了很多方法。我们可以用正则表达式来实现吗?或者我们是否需要函数来执行此操作?

最佳答案

你可以使用

s.replace(/([^_])(?=[A-Z\d])/g, "$1_")

查看 JS 演示:

var ss = ["ThiIssss_SSSSMySites", "ThisIsM_M_ySites"];
for (var s of ss) {
console.log(s, "=>", s.replace(/([^_])(?=[A-Z\d])/g, "$1_"));
}

模式将匹配:

  • ([^_]) - 第 1 组:除 _
  • 之外的任何字符
  • (?=[A-Z\d]) - 后跟大写字母或数字。

替换为 $1_,对存储在组 1 中的值的反向引用和一个 _ 字符。

参见 regex demo .

关于javascript - 在 JavaScript 中插入下划线的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51836803/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com