以下は、この特定のケース(数字とプラス記号を含む)の正規表現 を修正します。
http://ex[a-zA-Z.-]*/[a-zA-Z0-9.+-]*/[a-zA-Z0-9.+-]*
デモンストレーション:
echo "For example, I have a huge HTML file that contains img URL: http://ex.example.com/hIh39j+ud9wr4/Uusfh.jpeg"
このURLがファイル全体の唯一のURLであると仮定して、このURLを取得したいと思います。
cat file.html | grep -o 'http://ex[a-zA-Z.-]*/[a-zA-Z.-]*/[a-zA-Z.,-]*'
これは、URLにプラス記号がない場合にのみ機能します。+記号でも機能させるにはどうすればよいですか?
cat file.html| grep -o 'http://ex[a-zA-Z.-]*/[a-zA-Z0-9.+-]*/[a-zA-Z0-9.+-]*'
出力:
http://ex.example.com/hIh39j+ud9wr4/Uusfh.jpeg
これにより、すべての有効なURLが抽出されるわけではありません。このサイトには、URLマッチングに関する他の回答がたくさんあります。