所以,我在javascript中为HTML构建了一个简单的编译器。我使用match()表达式来匹配字符串和标签。在尝试验证表达式时:
<p>Paragraph</p>
我正在使用:
var = str.match(/<p>(.*?)Paragraph/g);
但是,它没有识别代码,如果在html字段中,我输入:
<p>
Paragraph</p>
所以,我搜索并发现如果我使用以下内容,它会修复下一行的问题:
var = str.match(/<p>(.*?(\n))+.*?Paragraph/g);
但是如果我恢复到我的第一个HTML代码,问题仍然存在。有没有办法可以处理这两种情况? (当然使用匹配功能时)
因此,无论是否输入,它都没有区别
<p>Paragraph</p>
或
<p>
Paragraph</p>
答案 0 :(得分:3)
在这部分
(.*?(\n))+
将+
更改为*
。 +
表示&#34;任意数量的换行符1次或更多次&#34;。你想要&#34; 0次或更多次&#34;。
固定表达式:
/<p>(.*?(\n))*.*?Paragraph/g