【发布时间】:2018-02-12 08:53:33
【问题描述】:
假设我得到如下动态字符串。
#04215: ["#02080=#04217+#04217_DUP5554","#01066=(#01047+#01111+#01048+#01118+#01049+#01050+#01121+#01128+#01131+#01141+#01138+#01148+#01053+#01062+#01054+#02080+#02048+#01064+#01063+#01065+#01051+#01052+#02062+#02069+#02072+#02079)","#02002=#01066","#02007=(#02002+#02003+#02004+#02005+#02006)","#02010=(#02007+#02008+#02009)","#04216+#04216_DUP5554=#04217+#04217_DUP5554","#04215+#04215_DUP5554=#04216+#04216_DUP5554"]
我必须将“#04215+#04215_DUP5554=#04216+#04216_DUP5554”] 部分设为"#04215_DUP9262=#04216+#04216_DUP9262"。我做了一个正则表达式来匹配'#04215+#04215_DUP9262=' as '([#][0]["+pgNo+"][0-9]{3}[+][#][0]["+pgNo+"][0-9]{3}[_][D][U][P][0-9]{4}[=])'。我尝试了以下。
考虑我在变量 a 中得到动态字符串;
var regex2=new RegExp("([#][0]["+pgNo+"][0-9]{3}[+][#][0]["+pgNo+"][0-9]{3}[_][D][U][P][0-9]{4}[=]) ([#][0]["+pgNo+"][0-9]{3}[_][D][U][P][0-9]{4})" ,"g");
a=a.replace(regex2,'$1,$2');
它没有替换字符串。请帮助。
regex2 中的 pgNo 是动态的。在当前上下文中,它的值为“4”。子字符串是不可能的,因为有太多的 '=' 符号。本质上,我必须将 '#04215+#04215_DUP9262=' 之类的发生更改为 '#04215_DUP9262='
【问题讨论】:
-
难道不能在
=字符上加上子串吗? -
你从哪里得到那个字符串?可以改源码吗?因为,坦率地说,这是一种糟糕的信息交流方式。
-
你的意思是this
标签: javascript regex reactjs