[英]JS Regex replace everything between and including HTML comments
[英]Regex Replace Everything Between Dashes Including New lines?
我有以下虚线标记,如果$("#AddInfo")
不为空,我想替换它们之间的所有内容。 如果$("#AddInfo")
为空,那么我想删除标记之间的所有内容。 它在第一次添加内容时第一次起作用,但是在第二次调用函数时起作用,例如,如果$("#AddInfo")
具有新内容或为空,则标记之间没有任何变化?
var msg = "some stuff --- --- more stuff";
if ($("#AddInfo").val())
msg = msg.replace(/---[^]---/, "---\n" + $("#AddInfo").val() + "\n---");
else
msg = msg.replace(/---[^]---/, "--- ---");
}
(这可能是注释,但您不能在其中添加代码,所以...)
你在追求这样的东西吗?
function onButton() { var msg = $("#AddInfo").val(), beginning = 'some stuff ---', end = '--- more stuff', re = new RegExp(beginning + '\\\\s*([^]*)\\\\s*' + end), content = re.exec($("#output").html())[1]; if( msg=='' ) { content = ''; } else { if( content == '' ) { content = '<br/>'; } msg += '<br/>'; } $('#output').html( beginning + content + msg + end ); }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form> <input id="AddInfo"/> <button type="button" onclick="onButton()">Add</button> <br/> <span id="output">some stuff --- --- more stuff</span> </form>
您忘记添加量词:
/---[^]*?---/g
^^
细节
---
- 3 -
字符 [^]*?
-尽可能少的0个字符,直到第一个... ---
- 3 -
字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.