package main
import (
"fmt"
"regexp"
)
func main() {
r, _ := regexp.Compile(`OWASP_CSRFTOKEN:([a-zA-Z0-9\-]+)`)
str := "OWASP_CSRFTOKEN:A-a-**\n**9-!OWASP_CSRFTOKEN:B-b-8-"
fmt.Printf("%q\n", r.FindString(str))
}
I am trying to match a pattern. Note \n
in the str
variable.
I am not able to match the pattern OWASP_CSRFTOKEN:([a-zA-Z0-9\-]+)
because of \n
in str
variable.
The string which I expect to match is OWASP_CSRFTOKEN:A-a-9-
, but I get a match for OWASP_CSRFTOKEN:A-a-
since 9-
is after \n
Try multi-line mode:
m
flagpackage main
import (
"fmt"
"regexp"
)
func main() {
r, _ := regexp.Compile("(?m)OWASP_CSRFTOKEN:([a-zA-Z0-9*-]+)")
str := "OWASP_CSRFTOKEN:A-a-**\n**9-!OWASP_CSRFTOKEN:B-b-8-"
fmt.Printf("%q\n", r.FindString(str))
}
Output:
"OWASP_CSRFTOKEN:A-a-**"
\n
matching as any character - turn on with s
flagpackage main
import (
"fmt"
"regexp"
)
func main() {
r, _ := regexp.Compile("(?s)OWASP_CSRFTOKEN:([a-zA-Z0-9*\n-]+)")
str := "OWASP_CSRFTOKEN:A-a-**\n**9-!OWASP_CSRFTOKEN:B-b-8-"
fmt.Printf("%q\n", r.FindString(str))
}
Output:
"OWASP_CSRFTOKEN:A-a-**\n**9-"
(Also I've added *
as allowed character)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With