繁体   English   中英

如何使用RegExp修改此字符串

[英]How do i modify this string with RegExp

我有这个字符串:

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! text.... !*img! !img! text.... !*img! <img src="text...." />

我对RegExp不太满意,我尝试了很多事情,但没有任何效果,我能想到的最好的方法是:

str.replace(/(!img!)(.+)(!\*img!)/g,  '<img src="$2" />');

但是上述代码的问题在于它选择了第一个!img! 发生和最后!*img! 发生无视他们之间的一切!

任何帮助,将不胜感激。

正则表达式默认为贪婪, .+将匹配尽可能多的文本。 尝试添加一个? 之后,以便您的正则表达式为/(!img!)(.+?)(!\\*img!)/

问号将使加号具有“惰性”行为,因此它将尝试匹配尽可能少的文本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM