如果我有一個網址如下https://github.com/myorg/myrepo.git
如何使用正則運算式僅在第一個和第二個斜杠“myorg”之間檢索?
我查了幾個,只找到了如何使用檢索最后一塊 | sed 's#.*/##'
uj5u.com熱心網友回復:
不是正則運算式,但非常簡單
echo https://github.com/myorg/myrepo.git | awk -F\/ '{print $4}'
稍微靈活一點,因為它是倒數第二個欄位:
echo https://github.com/myorg/myrepo.git | awk -F\/ '{print $(NF-1)}'
uj5u.com熱心網友回復:
使用 Bash 的內置 Regex 引擎:
#!/usr/bin/env bash
url='https://github.com/myorg/myrepo.git'
if [[ $url =~ github.com/([^/] )/ ]]; then
printf '%s\n' "${BASH_REMATCH[1]}"
fi
使用 POSIX-shell 語法變數擴展:
#!/usr/bin/env sh
url='https://github.com/myorg/myrepo.git'
t="${url#*github.com/}"
org="${t%%/*}"
printf '%s\n' "$org"
uj5u.com熱心網友回復:
你,我的朋友,可以使用lookaheads和lookbehinds
(?<=\.com\/). (?=\/)
此代碼將獲得斜線之間的所有內容
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/396620.html
