package main
import (
"bufio"
"fmt"
"os"
"regexp"
)
func main() {
// Get user input for the search pattern
fmt.Print("Enter the search pattern: ")
scanner := bufio.NewScanner(os.Stdin)
scanner.Scan()
searchPattern := scanner.Text()
// Open the file for reading
file, err := os.Open("example.txt")
if err != nil {
fmt.Println("Error opening file:", err)
return
}
defer file.Close()
// Create a regular expression object from the search pattern
regex, err := regexp.Compile(searchPattern)
if err != nil {
fmt.Println("Error compiling regular expression:", err)
return
}
// Scan the file line by line and print matching lines
scanner = bufio.NewScanner(file)
for scanner.Scan() {
line := scanner.Text()
if regex.MatchString(line) {
fmt.Println(line)
}
}
// Check for any errors during scanning
if err := scanner.Err(); err != nil {
fmt.Println("Error reading file:", err)
}
}