什么是用于组合"(。*?)"的正则表达式。和"(。*?(\ n))+。*?"?

时间:2018-03-11 10:11:08

标签: javascript html regex

所以,我在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>

1 个答案:

答案 0 :(得分:3)

在这部分

(.*?(\n))+

+更改为*+表示&#34;任意数量的换行符1次或更多次&#34;。你想要&#34; 0次或更多次&#34;。

固定表达式:

/<p>(.*?(\n))*.*?Paragraph/g