Javascript 如何使用正则表达式,并添加-&引用;字里行间?
更新 我在旧的interweb中四处寻找,看看是否有任何方法可以将其作为替换方法的一部分进行正则化:str.replace(/\w[a-Z]/gm,“-”) 蓟马 为此: 这是一个正则表达式 我试图在regex101上使用匹配的\w字符后跟[a-Z]来处理问题,但失败了。Javascript 如何使用正则表达式,并添加-&引用;字里行间?,javascript,regex,Javascript,Regex,更新 我在旧的interweb中四处寻找,看看是否有任何方法可以将其作为替换方法的一部分进行正则化:str.replace(/\w[a-Z]/gm,“-”) 蓟马 为此: 这是一个正则表达式 我试图在regex101上使用匹配的\w字符后跟[a-Z]来处理问题,但失败了。 有什么想法吗 如果第一个字符不能为大写: var str=“thisIsARegex”; str=str.replace(/(?=[A-Z])/g,“-”; console.log(str);//这是一个正则表达式 var
有什么想法吗 如果第一个字符不能为大写:
var str=“thisIsARegex”;
str=str.replace(/(?=[A-Z])/g,“-”;
console.log(str);//这是一个正则表达式
var s=“thisIsARegex”;
s=s.replace(/([A-Z])/g'-$1')。trim();
控制台日志代码>试试这个:
您可以在此页面上检查正则表达式并进行自己的测试:
“匹配后跟[a-Z]的\w字符但失败”出现了什么问题?它将替换匹配的字符:thi--pina apcould来解释为什么在()中使用?=(?=…)
的含义可以理解为“后跟…”。它与…
的不同之处在于,字符串的匹配部分不被视为匹配的一部分。例如,虽然“aaaaaa”.replace(/[A-Z]/g,“-”)
产生aaaaaa
,“aaaaaa.replace(/(?=[A-Z])/g,“-”)
产生aaaaaaaaa
@ikegami,但有人会用它来代替以前远不那么复杂的解决方案吗?
// initial value
let text = "thisIsARegexText";
// select Uppercase characters
let regexPattern = /[^a-z]/g;
// dump temp array
let newText = [];
// go through all characters, find Uppercase and replace with "-UppercaseCharacter"
for(i of text){
newText.push(i.replace(/[^a-z]/g, "-" + i))
}
// assign the result to the initial variable
text = newText.join("");