Javascript 如何使用RegExp修改此字符串
我有这个字符串:Javascript 如何使用RegExp修改此字符串,javascript,regex,string,Javascript,Regex,String,我有这个字符串: str = "<table><tr><td>!img! images/image1.jpeg !*img!</td><td> 12:34</td></tr><tr><td>!img! images/image2.jpeg !*img!</td><td>12:35</td><tr></table>; 然而,上述代
str = "<table><tr><td>!img! images/image1.jpeg !*img!</td><td> 12:34</td></tr><tr><td>!img! images/image2.jpeg !*img!</td><td>12:35</td><tr></table>;
然而,上述代码的问题在于它选择了第一个!img代码>事件和最后一个*img代码>事件忽略它们之间的一切
任何帮助都将不胜感激。默认情况下,Regex是贪婪的,+
将匹配尽可能多的文本。试着添加一个?在它之后,您的正则表达式是/(!img!)(.+?)(!\*img!)/
问号将给出加号“lazy”行为,因此它将尝试匹配尽可能少的文本。我没想到它有这么简单的解决方案!但是成功了:)谢谢
str.replace(/(!img!)(.+)(!\*img!)/g, '<img src="$2" />');