VBSで、ドメインを取るプログラムを作りたくて
悪戦苦闘しています。
Dim reg
Dim Matches
Dim testUrl
Set reg = CreateObject("VBScript.RegExp")
reg.Pattern = "/{2}([^/]+)/"
testUrl = "http://www.test.co.jp/test.html" ←ここは実際はメソッドの引数値が入ります
Set Matches = reg.Execute(testUrl)
msgbox Replace(Matches(0).Submatches(0),"www.","")
上記、きちんとしたurlが入ってくる場合はいいのですが、
そうとは限らず、testUrl = "http://www" というような半端な
値が入ってきた場合、落ちてしまいます。
Matches(またはSubmatches)のインデクサがないからだと思われますが、
存在確認をするにはどうしたら良いか、教えていただけないでしょうか。
No.2ベストアンサー
- 回答日時:
質問にあるコードを前提にすると、
If Matches.Count = 0 Then
msgbox "実行不可形式なURL"
Else
msgbox Replace(Matches(0).Submatches(0),"www.","")
End If
で済むと思います。
しかし、サブドメインがwwwでないものや、URLの最後が/で終わらないもの
http://blog.test.co.jp/
http://test.co.jp/test.html
http://www.test.co.jp
といったものからドメインの抽出が行えません。
やりたいことにそういったものがなければ良いのですが。
回答ありがとうございます。
仰る通り、wwwでないものについて考慮できていませんでしたね…。
ちょっと正規表現を見直してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP preg_matchで Warning: Undefined variableが出ます 1 2022/11/15 17:06
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- SEO googleサーチコンソールで、重複URLが多数発生、その修正方法について 2 2023/06/23 16:15
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- JavaScript [再掲]指定したパスが現URLに含まれていたら特定要素を削除するJavascriptのコードについて 1 2023/05/10 15:09
- Visual Basic(VBA) VBSで作成した相対パスのショートカットが他者と共有できません。 1 2022/09/05 11:20
- その他(プログラミング・Web制作) VBSでExcelファイル起動時、重複しても開くのを止めたい 1 2022/10/01 23:20
- Visual Basic(VBA) セルの値からファイルを複数作りたい2 3 2022/10/07 15:54
- JavaScript 正規表現について質問です。条件に合う場合はtrueを返したい 3 2022/10/06 23:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
final修飾子を使っているのに、...
-
エクセルVBAで、条件に一致する...
-
mainメソッドのthrows節で設定...
-
Excel VBA シェイプの原型のサ...
-
VBPをダブルクリックするとたま...
-
エラーの意味を
-
vbaエクセルマクロ RemoveDupli...
-
Labelコントロールに数字を代入...
-
execute()
-
コンパイルエラーの理由。
-
staticメソッドの長所短所
-
ウィンドウを最前面にできません
-
Application.Wait の参照設定
-
worksheets & rows メソッドは...
-
javascriptからjavaを呼び出したい
-
lightboxやfancyboxなどのモー...
-
VBA/FIND関数を使っての先頭文...
-
ExcelVBAのプログラムをJavaへ変換
-
カーソルのある行の行番号取得
-
FEM解析の読み方は?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
Labelコントロールに数字を代入...
-
final修飾子を使っているのに、...
-
エクセルVBAにおけるON TIMEメ...
-
コマンドプロンプト実行後に画...
-
mainメソッドのthrows節で設定...
-
DataGridViewでセルクリックイ...
-
javascriptからjavaを呼び出したい
-
VBPをダブルクリックするとたま...
-
onClickで関数呼出し後に、結果...
-
ExcelのxlDialogInsertPictureで。
-
Refreshメソッドの使い方
-
JSPで<SELECT>の中にDBから持っ...
-
【sendkeysメソッドが動かずに...
-
ウィンドウを最前面にできません
-
(String args[])というメッソ...
-
C# 演算 最大値 最小値 表現の仕方
-
Excel VBA シェイプの原型のサ...
-
VB.netで、シリアル通信のタイ...
-
boolean型のフィールドとゲッタ...
おすすめ情報