Javascript JS:使用正则表达式在日语字符短语和数字之间添加空格
我需要在日语的所有实例之间添加一个空格丁目(chome)直接跟在数字后面的未指定的数字长度 例:北23条東12丁目5-30-405 我已经试过了(其中s=”北23条東12丁目5-30-405“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")( 这应
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);