Javascript 括号外的每个字符都大写

Javascript 括号外的每个字符都大写,javascript,regex,Javascript,Regex,我有一个包含括号的字符串: 我想大写这个字符串(除了这个)和(这个) 我想把它转换成: 我想大写这个字符串(除了这个)和(这个) 用JavaScript实现这一点的最佳方法是什么?如果我必须使用正则表达式,请解释清楚,因为我不擅长正则表达式 非常感谢,您可以使用正则表达式,然后替换为回调 var str=“我想把这个字符串(除了这个)和(这个)”大写; var res=str.replace(/[^()](?=([^()]*\([^()]*\)*[^()]*$)/g,t=>t.toUpperC

我有一个包含括号的字符串:

我想大写这个字符串(除了这个)和(这个)

我想把它转换成:

我想大写这个字符串(除了这个)和(这个)

用JavaScript实现这一点的最佳方法是什么?如果我必须使用正则表达式,请解释清楚,因为我不擅长正则表达式


非常感谢,

您可以使用正则表达式,然后替换为回调

var str=“我想把这个字符串(除了这个)和(这个)”大写;
var res=str.replace(/[^()](?=([^()]*\([^()]*\)*[^()]*$)/g,t=>t.toUpperCase());

log(res)
您可以使用正则表达式,然后替换为回调

var str=“我想把这个字符串(除了这个)和(这个)”大写;
var res=str.replace(/[^()](?=([^()]*\([^()]*\)*[^()]*$)/g,t=>t.toUpperCase());

console.log(res)
在括号之间用大写字母代替小写字母可能更简单

var str = "I want to uppercase this string (except this) and (this)";

str = str.toUpperCase().replace(/(\(.+?)\)/g, m => m.toLowerCase());
要保留案例,请执行以下操作:

var str = "I want to uppercase this string (eXcEpT ThIs) and (ThIS)";

str = str.toUpperCase().replace(/\((.+?\))/g, (m, c, o) => str.substr(o, m.length));

> I WANT TO UPPERCASE THIS STRING (eXcEpT ThIs) AND (ThIS)

将地块大写,然后在括号之间小写可能更简单

var str = "I want to uppercase this string (except this) and (this)";

str = str.toUpperCase().replace(/(\(.+?)\)/g, m => m.toLowerCase());
要保留案例,请执行以下操作:

var str = "I want to uppercase this string (eXcEpT ThIs) and (ThIS)";

str = str.toUpperCase().replace(/\((.+?\))/g, (m, c, o) => str.substr(o, m.length));

> I WANT TO UPPERCASE THIS STRING (eXcEpT ThIs) AND (ThIS)
这可能更简单:

var str='我想把这个字符串(除了这个)和(这个)大写';
var repl=str.replace(/[a-z]+(?![^()]*\)/g,m=>m.toUpperCase()
console.log(repl);
//=>“我想把这个字符串(除了这个)和(这个)大写”
这可能更简单:

var str='我想把这个字符串(除了这个)和(这个)大写';
var repl=str.replace(/[a-z]+(?![^()]*\)/g,m=>m.toUpperCase()
console.log(repl);

//=>“我想大写这个字符串(除了这个)和(这个)”
可能是一种更好的方法,但不是一种快速而肮脏的使用方法

var x='我想把这个字符串(除了这个)和(这个)'大写。替换(/(^[^(+)|(\)[^(+)/g,函数(a,b){返回(a | | b).toUpperCase())

log(x)
可能是一种更好的方法,但不是一种快速而肮脏的使用方法

var x='我想把这个字符串(除了这个)和(这个)'大写。替换(/(^[^(+)|(\)[^(+)/g,函数(a,b){返回(a | | b).toUpperCase())

console.log(x)
您可以使用JavaScript(字符串方法或按位操作)或CSS或正则表达式。您确实需要向我们提供有关您正在构建的内容以及如何构建它的更多详细信息。如果您尝试了代码和内容,我们将不胜感激。您可以使用JavaScript(字符串方法或按位操作)或者CSS或regex。你真的需要给我们更多关于你正在构建什么以及如何构建它的细节。代码和你尝试过的东西将不胜感激。请注意,只有当我们确信在原始文本中,paren之间的所有内容都是小写时,这才有用。PS,我没有否决。这当然是真的。请注意,这NLY是有用的,如果我们确信,在原始文本中,父母们之间的一切都是小写的。PS我没有投票。这确实是真的。非正则回答有一些很好的触发器;@Jonasw-不错,打一点高尔夫球总是很有趣->非正则表达式的答案有一些不错的触发器;)。也可能是PAR= C===”((“PAR&&C.= =”))JONASW-好一点,一点高尔夫总是有趣的。