[英]Match multiple lines that do NOT start with "<p>" without using the "m" modifier (golang flavor)
我正在尝试匹配不以 HTML <p>
标记开头的多行,仅使用g
修饰符和 RegEx 的 Golang 风格。
这是一个例子:
Lorem ipsum
<p><span class="slugline">INNEN. Wohnung, Erdgeschoss – Tag</span></p><br>
Dolor sit amet
1234
<p><span class="slugline">INNEN. Wieslers Wohnung, Fahrstuhl – Tag</span></p><br>
Et respice finem
<p><span class="slugline">AUSSEN. Wohnung - Nacht</span></p><br>
<p><span class="slugline">INNEN. Wohnung, Erdgeschoss – Tag</span></p><br>
<p><span class="charleft">Maik</span><span class="dialogleft">(leise) Hallo.</span></p>
Quod erat demonstrandum
正则表达式应匹配以以下内容开头的行和段落:
使用 Golang 风格的mg
修饰符很容易: ^([^<\n\r]|<([^p]|$)).*
但我正在寻找一个没有m
修饰符的正则表达式。 我无法仅使用g
修饰符使其工作。
您可以匹配不需要的内容,而不是匹配您想要保留的内容,并将其用作拆分字符串的模式。
如果您的文本位于变量s
中,您可以这样继续:
para := regexp.MustCompile("[\n\r]+(<p>.*[\n\r]*)*")
lines := para.Split(s, -1)
for _, line := range lines {
fmt.Println(line)
}
这将是 output:
Lorem ipsum
Dolor sit amet
1234
Et respice finem
Quod erat demonstrandum
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.