How to match two parts of the string?
Example string:
/some/page_path 255.122.212.211
The first part I want to match is a valid path, a simple check if starts with / and no white spaces. (and maybe special signs?)
The second part is just checking the IP address if has a pattern of (0-9) numbers with dots.
Example of bad string:
/some/page _path 2525.122.212 yada yada
Regex I have for IP:
^(?:[0-9]{1,3}\.){3}[0-9]{1,3}
CodePudding user response:
You can use
/\A(?:\/[^\/\s] ) \s (?:[0-9]{1,3}\.){3}[0-9]{1,3}\z/
See the Rubular demo. Details:
\A
- start of string(?:\/[^\/\s] )
- one or more occurrences of/
and then one or more chars other than/
and whitespace\s
- one or more whitespace chars(?:[0-9]{1,3}\.){3}[0-9]{1,3}
- three occurrences of one to three digits followed with a.
char, and then one to three digits\z
- end of string.