次のテキストが必要です。
A234321=http://www.google..... a normal URL
URLのみを抽出し、最初の部分を削除します。できそうですが、expr
正しい方法が見つかりません。
私が使用できる完全な正規表現は次のとおりです。http:[a-zA-Z0-9/_]+
答え1
あなたがこれを探しているかどうかわかりません。役立つことを確認してください。
expr 'A234321=http://www.google&x=y' : '^[^=]*=\(.*\)'
答え2
exprは必要ありません。シェル構成を使用して、指定された削除パターンに一致する最短の接頭辞${VAR#PATTERN}
に展開し、最長の接頭辞を削除し、接尾辞を削除できます。$VAR
${VAR##PATTERN}
${VAR%PATTERN}
${VAR%%PATTERN}
text='A234321=http://www.example.com/wibble'
protocol=${text%%://*}
url=${protocol##*[!a-z]}://${text#*://}
答え3
テキストが常に「=」文字で区切られていると仮定すると、cut
URLは次のようになります。
url=`echo $text | cut -f 2 -d"="`
デフォルトでは、ここではテキストフィールドを切り取り、=
2番目のフィールドに分割して抽出します。