我需要抓住这个:<!.This is a string.!>
它可以包含<!. .!>
所以我尝试了这个:<\!\..+\.\!>/g
哪个不起作用。我一直试图解决这个问题几天没有成功。我想捕获整个字符串,包括<!. .!>
感谢您的帮助!
答案 0 :(得分:2)
修改强>
由于OP编辑了他的帖子以指明他不想捕获字符串而且还要分隔符,我已经将捕获括号从<!\.(.*?)\.!>
移出到(<!\..*?\.!>)
这应该这样做:
var myregexp = /(<!\..*?\.!>)/m;
var match = myregexp.exec(subject);
if (match != null) {
result = match[1];
} else {
result = "";
}
由于JS不支持lookbehinds,因此想法是匹配整个字符串,包括分隔符,但只捕获&#34; My String&#34;进入第1组。然后我们检查第1组。
答案 1 :(得分:-1)
对于那些擅长Regex&#34;的人来说,这个人并不聪明。
var subject = "<!.This is a string.!>";
subject = subject.match(/<!\.(.*?)\.!>/);
console.log(subject[1]);