如何在下面使用正则表达式替换此字符串
var str="(adj., adv., part.) with or caution. (n.) difficult be etc., And. extreme care.";
str = str.replace(/(\w+\.)/, "*$1*");
至
(*adj.*, *adv.*, *part.*) with or caution. (*n.*) difficult be etc., And. extreme care.
\ w +。始终在()中,并且当多个时,可以用逗号和空格分隔。
您可以匹配具有您需要匹配的格式的字符串,然后将匹配项传递给回调以\w+\.
用星号包装部分:
str = str.replace(/\(\w+\.(?:\s*,\s*\w+\.)*\)/g, function (m) {
return m.replace(/\w+\./g, "*$&*");
});
JS演示:
var str="(adj., adv., part.) with or caution. (n.) difficult be etc., And. extreme care.";
console.log(str.replace(/\(\w+\.(?:\s*,\s*\w+\.)*\)/g, function (m) {
return m.replace(/\w+\./g, "*$&*");
}));
正则表达式是
/\(\w+\.(?:\s*,\s*\w+\.)*\)/g
请参阅regex演示。注意g
修饰符,它使引擎搜索字符串中的所有匹配项。
细节
\(
-一个(
字符\w+\.
-1个以上的字字符和一个点(?:\s*,\s*\w+\.)*
-0个或多个序列
\s*,\s*
-,
包含0+空格的\w+\.
-1个以上的字字符和一个点\)
-一个)
字符本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句