Regex 正则表达式替换在使用$1时删除第一个和最后一个字符
我有这样的字符串:Regex 正则表达式替换在使用$1时删除第一个和最后一个字符,regex,replace,Regex,Replace,我有这样的字符串: &breakUp=Mumbai;city,Puma;brand& 孟买在哪里;城市与美洲狮;品牌是由逗号(,)分隔的过滤器。我必须增加更多的过滤器,比如德里;国家 我使用以下正则表达式查找上述字符串: &breakUp=.([\w;,]*).& 并使用以下正则表达式替换它: &breakUp=$1,Delhi;State& 它正确地查找字符串,但替换字符串时会删除第一个和最后一个字符,并给出以下结果: &break
&breakUp=Mumbai;city,Puma;brand&
孟买在哪里;城市与美洲狮;品牌是由逗号(,)分隔的过滤器。我必须增加更多的过滤器,比如德里;国家
我使用以下正则表达式查找上述字符串:
&breakUp=.([\w;,]*).&
并使用以下正则表达式替换它:
&breakUp=$1,Delhi;State&
它正确地查找字符串,但替换字符串时会删除第一个和最后一个字符,并给出以下结果:
&breakUp=umbai;city,Puma;bran,Delhi;State&
如何解决这个问题?
另外,如果我没有过滤器,我不想要第一个逗号。像
&breakUp=&
应该成为
&breakUp=Delhi;State&
怎么做?我猜您的表达式很好,其中有两个额外的
,我们将删除它们:
&breakUp=([\w;,]*)&
如果您可能感兴趣的话,这里将对表达式进行解释
要绕过&breakUp=&
,我们可以应用以下表达式:
&breakUp=([^&]+)&
您的问题似乎是前导和尾随句点,它们与任何字符都匹配 尝试使用此正则表达式:
&breakUp=([\w;,]*)&
也许你可以解释为什么你把这些点放在那里;“你希望他们能完成什么?”艾玛只是又一个疑问。如果我在替换之前和之后没有过滤器,我不想要第一个逗号。Like&breakUp=&应该成为&breakUp=德里;状态&如何做?