我有以下字符串:
$('#button_step1').click(function(e) {
$.ajax({
type: 'POST',
url: '../core/views/cp/test.php',
data: { message: 'works' },
success: function(resp) {
alert(resp);
}
});
$('.step1 input').prop('disabled', true);
//window.location.replace("http://10.0.0.13/core/views/cp/test.php");
});
我的目标是从字符串中移除此部分,这组li标签包含“code”关键字:
<ul><li><span>some words here.</span></li><li><span>other words here.</span></li><li><span>Code: 55555.</span></li></ul>
我正在尝试编写一个RegEx来帮助我匹配和替换我的子串。
<li><span>Code: 55555.</span></li>
之间的文字可能会有所不同,但始终会有关键字“代码”。这就是我到目前为止所做的:
<li></li>
问题是,它与第一个<li>(.*)code:(.*?)<\/li>
代码匹配,我希望它与我们的关键字“代码”之前的<li>
代码匹配。
感谢您的帮助!
答案 0 :(得分:4)
videosArrayList.get(i).getVideo()
<li>(?:.(?!</li>))+Code:(?:.*?)</li>
<li>
不匹配的任意数量的字符(这可确保匹配仅在相关</li>
处开始)<li>
Code:
匹配之前跟随任意数量的字符(非贪婪)答案 1 :(得分:0)
您可以尝试使用正则表达式组,因此您的正则表达式将是这样的:
R '(小于\立GT;(*)代码:。?(*)&LT; /锂&GT;){1,}'
此正则表达式将匹配多于1次的字符串,其格式为&lt; \ li&gt;(。*)代码:(。*?)&lt; / li&gt ;.
我想这可能对你有所帮助。
答案 2 :(得分:0)
(.*)(<li>.*span.*<\/li>)(.*)
Tim Biegeleisen提供的RegEx工作得很好。如果您想确保“代码”一词存在,只需将“span”替换为“Code”,例如:
(.*)(<li>.*Code.*<\/li>)(.*)
答案 3 :(得分:0)
此处关键字“代码”在正则表达式中是强制性的