3
我在做什么错在这里?无效量词对正则表达式的JavaScript错误
我试图与使用javascript另一个数字的字符串替换数。我有一个很长的字符串,它有几个数字1。我需要在每种情况下用2替换数字1,除非1两边都有另一个数字。我做了一堆谷歌搜索如何使用正则表达式(我是完全新的正则表达式),我想出了这个。
string.replace(/(?<!\d)1(?!\d)/,2);
基本上,我想正则表达式匹配(从而替换)在那里它被任何东西,除了另一个号码包围的号码1的每次出现。我不想比赛进行到包括周围的人物 - 数量只有1
我不断收到无效量词错误在我的萤火控制台。我究竟做错了什么?
是结肠正确的操作为负回顾后?我正在阅读[链接] http://www.regular-expressions.info/lookaround.html关于如何做负面lookbehinds,他说使用lt字符。我用你说的冒号代替了它,我不再发生错误,但它不会返回任何匹配?我试着在最后一个斜杠后面加上g来匹配每一次出现,但它仍然不起作用。我在这里无能为力。 – codescribblr
@Jonathan:不,JavaScript没有外观(只有前瞻性,正面和负面)。 '?:'只是表示一个非捕获块。 –
很好的解释!非常感谢。以下是我根据你给我的结果得出的结论:'var i = 1; \t $( “#addshipmentobjecbutton”)点击(函数(){ \t \t如果(ⅰ<= 5){ \t \t \t变种old_object = $( '#shipmentobject')的HTML(); \t \t \t var new_object = old_object.replace(/(^ | \ D)\ d(?!\ d)/ g,“$”+ i + 2); \t \t \t $('#shipmentobjects')。append(“
”); \t \t \t i ++; \t \t} \t});' – codescribblr