Javascript正则表达式表现得很奇怪

时间:2016-10-07 10:48:39

标签: javascript regex ecmascript-6

好的,我在这个问题上花了好几个小时。我有一些javascript需要在一定数量的字符之后在一个单词之前分割一个字符串。到目前为止,我已经提出了一个解决方案,但这种行为很奇怪 看看这个例子:



[self.scrollView addSubview:parentView];
self.scrollView.frame = CGRectMake(0, 0, 320, [UIScreen mainScreen].bounds.size.height);
[self.scrollView setContentSize:CGSizeMake(320, parentView.frame.size.height)];




var text1 = "Apple MacBook 12” Retina 2016 Spacegray (MLH82N/A)"; var text2 = "Apple MacBook 12” Retina 2016 Spacegray (MLH82N/A)"; var regex1 = /.{24}\S*(\s|-)+/gi; var regex2 = new RegExp(".{24}\S*(\s|-)+",'gi'); //var res1 = text1.replace(regex1, "$&@").split('@').join("\n").replace("\n", "<br>"); //var res2 = text2.replace(regex2, "$&@").split('@').join("\n").replace("\n", "<br>"); var res1 = text1.replace(regex1, "$&@"); var res2 = text2.replace(regex2, "$&@"); console.log(res1); console.log(res2);给出了想要的结果,但正则表达式中的数字24必须是变量,这使得无法使用regex1,因为它不支持变量。

如果有人能指出我正确的方向。我会永远感激的!

修改:标记为duplicate我已阅读过,但问题是“确切地说”&#39;正则表达式不会输出相同的结果。 RexExp对象很奇怪。

答案:

作为我的总菜鸟,我忘了逃避RegExp对象中的反斜杠 当我在角落里哭泣时,看看这个工作代码......

&#13;
&#13;
regex1
&#13;
&#13;
&#13;

0 个答案:

没有答案
相关问题