mkdocs-pages/docs/examples/regexmatch.md

60 lines
1.4 KiB
Markdown

# Regex examples
## Match an IP address
`\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}`
If we use this expression on the following using grep to search the file
`grep -oP '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}' log.txt'`
```bash
103.252.153.201
127.0.0.1 - - [30/Dec/2018 22:43:01] "GET / HTTP/1.0" 200 -
210.49.93.254, 66.102.6.169
127.0.0.1 - - [31/Dec/2018 09:17:47] "GET / HTTP/1.0" 200 -
210.49.93.254, 66.102.6.173
127.0.0.1 - - [31/Dec/2018 09:17:48] "GET /favicon.ico HTTP/1.0" 200 -
112.140.176.2
127.0.0.1 - - [01/Jan/2019 01:58:43] "GET / HTTP/1.0" 200 -
112.140.176.2
127.0.0.1 - - [01/Jan/2019 01:58:45] "GET /favicon.ico HTTP/1.0" 200 -
112.140.176.2
127.0.0.1 - - [01/Jan/2019 01:58:51] "POST / HTTP/1.0" 200 -
112.140.176.2
127.0.0.1 - - [01/Jan/2019 01:58:51] "GET /favicon.ico HTTP/1.0" 200 -
112.140.176.2
127.0.0.1 - - [01/Jan/2019 02:13:07] "GET /EviXDWpXvH HTTP/1.0" 200 -
210.49.93.254, 66.102.6.171
127.0.0.1 - - [02/Jan/2019 10:32:17] "GET / HTTP/1.0" 200 -
210.49.93.254, 66.102.6.173
127.0.0.1 - - [02/Jan/2019 10:32:18] "GET /favicon.ico HTTP/1.0" 200 -
```
The output will be a list of IP addresses in the file that looks like
```bash
103.252.153.201
127.0.0.1
210.49.93.254
66.102.6.169
127.0.0.1
210.49.93.254
66.102.6.173
127.0.0.1
112.140.176.2
127.0.0.1
112.140.176.2
127.0.0.1
112.140.176.2
127.0.0.1
112.140.176.2
127.0.0.1
112.140.176.2
127.0.0.1
210.49.93.254
66.102.6.171
127.0.0.1
210.49.93.254
66.102.6.173
127.0.0.1
```