expr - 管理文字列

expr - 管理文字列

次のテキストが必要です。

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

テキストが常に「=」文字で区切られていると仮定すると、cutURLは次のようになります。

url=`echo $text | cut -f 2 -d"="`

デフォルトでは、ここではテキストフィールドを切り取り、=2番目のフィールドに分割して抽出します。

関連情報