正则表达式选择两个文本之间的字符串

时间:2017-09-03 11:55:20

标签: regex

我有一个代码:

<p>Also: <a>text 1</a></p> <p><a> text 2 </a></p>

我正在使用这样的正则表达式,我只想删除直到第一个</P>

<p>Also:(.*?)</p>

,输出

empty

如何在</p>的第一个<p>Also之前选择?

2 个答案:

答案 0 :(得分:0)

我想你想要一个像这样的正则表达式:

/(?<=<p>Also:).+?(?=<\/p>)/i

[Regex Demo]

/^.*?(?<=<p>Also:).+?(?=<\/p>)/gi

[Regex Demo]

答案 1 :(得分:0)

我试过VB.NET并发现你的正则表达式模式适用于你的输入,但是,当我在regexr.com中尝试时,我发现应该转义前锋斜杠“/”。 你可以试试这个:

<p>Also:(.+?)<\/p>

注意:对于HTML,我不建议您使用正则表达式。最好根据您的编程语言使用HTML解析器。