如何匹配字符串的两个部分?
示例字符串:
/some/page_path 255.122.212.211
我想要匹配的第一部分是有效路径,简单检查是否以/开头并且没有空格。 (也许还有特殊标志?)
第二部分只是检查 IP 地址是否具有 (0-9) 带点数字的模式。
错误字符串示例:
/some/page _path 2525.122.212 yada yada
我的 IP 正则表达式:
^(?:[0-9]{1,3}\.){3}[0-9]{1,3}
最佳答案
你可以使用
/\A(?:\/[^\/\s]+)+\s+(?:[0-9]{1,3}\.){3}[0-9]{1,3}\z/
请参阅Rubular demo 。 详细信息:
\A
- 字符串开头(?:\/[^\/\s]+)+
- 出现一次或多次/
,然后出现一个或多个除之外的字符/
和空格\s+
- 一个或多个空白字符(?:[0-9]{1,3}\.){3}[0-9]{1,3}
- 出现 3 次一到三位数字,后跟.
字符,然后是一到三位数字\z
- 字符串结尾。
关于regex - 匹配字符串中的 url 路径和 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69424021/