替换主机名正则表达式
Replace hostname regex
我需要提取主机名并将其替换为 {HOST_NAME}
我用这个表达式
SELECT regexp_replace(str, '[\/]{2}(.*)[\.|:]', '{HOST_NAME}', 1) from dual
str = http://localhost:8080/test
str = https://test-app.uk.ru/test
预期结果:
> http://localhost:8080/test -> http://{HOST_NAME}:8080/test
> https://test-app.uk.ru/test - > https://{HOST_NAME}.uk.ru/test
结果:
http://localhost:8080/test -> http:{HOST_NAME}8080/test
https://test-app.uk.ru/test - > https:{HOST_NAME}uk.ru/test
那(?<=[\/]{2})([a-z-]{1,})(?=[\.|:])
呢
您可以使用以下方法:
SELECT regexp_replace(str, '://[^.:]+', '://{HOST_NAME}', 1) from dual
参见regex demo。
://[^.:]+
匹配:
://
- 文字子串
[^.:]+
- .
和 :
以外的 1 个或多个字符
看到 online demo:
我需要提取主机名并将其替换为 {HOST_NAME} 我用这个表达式
SELECT regexp_replace(str, '[\/]{2}(.*)[\.|:]', '{HOST_NAME}', 1) from dual
str = http://localhost:8080/test
str = https://test-app.uk.ru/test
预期结果:
> http://localhost:8080/test -> http://{HOST_NAME}:8080/test
> https://test-app.uk.ru/test - > https://{HOST_NAME}.uk.ru/test
结果:
http://localhost:8080/test -> http:{HOST_NAME}8080/test
https://test-app.uk.ru/test - > https:{HOST_NAME}uk.ru/test
那(?<=[\/]{2})([a-z-]{1,})(?=[\.|:])
您可以使用以下方法:
SELECT regexp_replace(str, '://[^.:]+', '://{HOST_NAME}', 1) from dual
参见regex demo。
://[^.:]+
匹配:
://
- 文字子串[^.:]+
-.
和:
以外的 1 个或多个字符
看到 online demo: