我正在开发一些javascript,它通过转换器文本将您的javascript代码颜色编码为带有周围span元素的文本。
我想使用<span class="gray"> WordWithCapitalLetterAtBeginning </span>
Apple()
应变为灰色
APPLE
应变为灰色
bANANA
不应变为灰色
banaNa()
不应变为灰色
orange
不应变为灰色
我会在javascript中使用正则表达式将字符串replace
替换为跨度?
到目前为止,我尝试过:/([A-Z])/g
,但这仅用大写字母表示,而不是其余部分。
到目前为止,这是我的js:
function stylifyCode(s)
{
s=s.replace('var','<span style="color:blue;">var</span>');
s=s.replace('\n','<br>')
s=s.replace(/([A-Z])/g, '<span class="gray">$1</span>')
return s;
}
并在加载页面时:
document.getElementById("mycode").innerHTML = stylifyCode("var hello = 'world!';\nnew Awesome(hello+World())");
谢谢。
答案 0 :(得分:3)
您的意思是以下内容?
error C2338: invalid template argument for uniform_int_distribution
note: see reference to class template instantiation 'std::uniform_int_distribution<uint8_t>' being compiled
uniform_int_distribution
var input = "This is a Test String with some Words in It.";
var output = input.replace(/\b([A-Z]\w*)\b/g, "<span class='gray'>$1</span>");
console.log(output);
document.getElementById("result").innerHTML = output;
说明:regex .gray {
background-color: #CCCCCC;
}
匹配单词边界,后跟大写字母,后跟零个或多个单词字符,后跟单词边界。
答案 1 :(得分:1)
"new Apple() Test Test, hello".replace(/([A-Z])/g, "<span class='gray'>$1</span>")