Javascript JS:使用正则表达式在日语字符短语和数字之间添加空格

Javascript JS:使用正则表达式在日语字符短语和数字之间添加空格,javascript,regex,replace,Javascript,Regex,Replace,我需要在日语的所有实例之间添加一个空格丁目(chome)直接跟在数字后面的未指定的数字长度 例:北23条東12丁目5-30-405 我已经试过了(其中s=”北23条東12丁目5-30-405“ s.replace(/(?):丁目)+\d+/g,“$1”) 因为我想在未捕获的组后面添加一个空格,所以我认为$1是合适的,但我不确定如何编写它(如果这个替换方法起作用,它可能会直接输出“$1”) 不用说,我尝试的replace()方法不起作用 (所需输出:北23条東12丁目 5-30-405")( 这应

我需要在日语的所有实例之间添加一个空格丁目(chome)直接跟在数字后面的未指定的数字长度

例:北23条東12丁目5-30-405

我已经试过了(其中s=”北23条東12丁目5-30-405“

s.replace(/(?):丁目)+\d+/g,“$1”)

因为我想在未捕获的组后面添加一个空格,所以我认为$1是合适的,但我不确定如何编写它(如果这个替换方法起作用,它可能会直接输出“$1”)

不用说,我尝试的replace()方法不起作用

(所需输出:北23条東12丁目 5-30-405")( 这应该可以帮到你。你以前的正则表达式不起作用,因为如果
?:
,这使得它无法捕获并且
$1
中没有任何内容。请参阅演示


它的工作原理是:出于好奇,认为第二组(<代码>(?=D)<代码> >是安全的吗?(我是NeBee)@ MARZIPAN不,它是<代码>前瞻性< /代码>。如果要捕获<代码> $ 2 <代码>使用<代码>(=(\D+))< /代码>
s.replace(/(丁目)(?=\d)/g, "$1 ")
var re = /(丁目)(?=\d)/g; 
var str = '北23条東12丁目5-30-405';
var subst = '$1 '; 

var result = str.replace(re, subst);