Javascript 正则表达式:文本之间匹配,但数字之间不匹配
请帮忙。 我需要一个正则表达式(在javascript中使用)来将包含Unicode字符的文本中的“.”替换为“#”。 只有当“.”出现在文本之间而不是数字之间时,才会进行替换 输入:“Φψ.ABC.DEF.123.456” 所需输出:“Φψ#ABC#DEF#123.456” 有什么建议吗?试试这个:Javascript 正则表达式:文本之间匹配,但数字之间不匹配,javascript,regex,Javascript,Regex,请帮忙。 我需要一个正则表达式(在javascript中使用)来将包含Unicode字符的文本中的“.”替换为“#”。 只有当“.”出现在文本之间而不是数字之间时,才会进行替换 输入:“Φψ.ABC.DEF.123.456” 所需输出:“Φψ#ABC#DEF#123.456” 有什么建议吗?试试这个: var str = "ΦΨ. ABC. DEF. 123.456"; str.replace(/[^\d.]+\.[^\d]/g, function (m) { return m.re
var str = "ΦΨ. ABC. DEF. 123.456";
str.replace(/[^\d.]+\.[^\d]/g, function (m) {
return m.replace('.', '#')
});
试试这个:
var str = "ΦΨ. ABC. DEF. 123.456";
str.replace(/[^\d.]+\.[^\d]/g, function (m) {
return m.replace('.', '#')
});
您可以在正则表达式中使用捕获组并使用反向引用来获得所需的结果:
var re=/(\D)\.(\D)/g;
var str='Φψ。美国广播公司。DEF。123.456';
var subst='$1#$2';
结果=str.replace(re,subst);
警报(结果)代码>您可以在正则表达式中使用捕获组并使用反向引用来获得所需的结果:
var re=/(\D)\.(\D)/g;
var str='Φψ。美国广播公司。DEF。123.456';
var subst='$1#$2';
结果=str.replace(re,subst);
警报(结果)
@lor:我只是想知道你是否有句子开头或结尾有点的情况?它们也应该被替换吗?现在,他们不是。如果要将它们转换为
,请使用var re=/(^\D)\.(\D)\.$/g
@lor:我只是想知道你是否有句子开头或结尾有点的情况?它们也应该被替换吗?现在,他们不是。如果要将它们转换为
,请使用var re=/(^\D)\.(\D)\.$/g代码>。