package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?i)(<head\b[^<>]*>)([\s\S]*?)(<\/head>)`)
var str = []byte(`<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>E-Library - Information At Your Fingertips: Printer Friendly</title>
<style>body
{
margin: 5px 50px 40px 50px;
color: #000000;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size: 90%;
line-height: 20px;
}
</style>
</head>
<BR><BR>
<CENTER>
<H2>SECOND DIVISION</H2>
<H2 style='background-color:#cccccc;padding-top:10px;padding-bottom:10px;'>[ G.R. No. 180416, June 02, 2014 ]</H2>
<H3>ADERITO Z. YUJUICO AND BONIFACIO C. SUMBILLA, PETITIONERS, VS. CEZAR T. QUIAMBAO AND ERIC C. PILAPIL, RESPONDENTS.<BR><BR>D E C I S I O N</H3>
</CENTER>
<p><STRONG>PEREZ, J.:</STRONG></p>
<p><div align="JUSTIFY">This case is a Petition for Review on <i>Certiorari</i><sup style="color: rgb(255, 0, 0);">[1]</sup> from the <i>Order</i><sup style="color: rgb(255, 0, 0);">[2]</sup> dated 4 June 2007 and 5 November 2007 of the Regional Trial Court (RTC), Branch 154, of Pasig City in S.C.A. No. 3047.<br><br>The facts:<br><br><center><i><u>Backgrou
</html>`)
var substitution = []byte("$1foo$3")
var count = 1 // negative counter is equivalent to global case (replace all)
str = re.ReplaceAllStringFunc(str, func(s string) string {
if count == 0 {
return s
}
count -= 1
return re.ReplaceAllString(s, substitution)
})
fmt.Println(string(str))
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Golang, please visit: https://golang.org/pkg/regexp/