正規表現で文字を抜き出す方法とは?
- 正規表現を使用して指定の文章を抜き出す方法を解説します。
- 質問文章では、特定の文言を正規表現を使って抜き出したいとのことですが、うまく動作していないようです。
- 正しい正規表現のパターンを作成する方法を説明します。
- ベストアンサー
正規表現で文字を抜き出したい
-----------------------ファイルの中身----------------------------- 8 個のファイル x,Xxx,xxx バイト ファイルの総数: 12400 個のファイル 419,000 バイト 8000 個のディレクトリ 280,284,000 バイトの空き領域 XXXXXXXX ------------------------------------------------------------------ 上記のものが一つのファイルの中にいくつか存在し、 その中の『ファイル総数:』~『バイトの空き領域』を 正規表現を使用して、VBSで抜き出したいと思っています。、 "ファイルの総数:[^バイトの空き領域]*バイトの空き領域(?=\r)" という正規表現を作成したのですが、うまく動作しません。 どのような正規表現を使用したら良いでしょうか。 どなたか、上記の抜き出す文言を示す正規表現をお教えください。
- yosihio700
- お礼率100% (1/1)
- Visual Basic
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ExcelVBAで試したので当てはまるかわからないですが。 Set myReg = CreateObject("VBScript.Regexp") myReg.Pattern = "ファイルの総数([^\n]*\n){2}[^\n]*空き領域" myReg.Global = True 改行(\n)以外の文字と改行の組み合わせを2組はさんでみました。
関連するQ&A
- 拡張子の正規表現
emacs や xyzzy で、 設定ファイルの中に、 拡張子の正規表現として、 \\.vbs のような表現がありますが、 ずっと以前から疑問に思っています。 \.vbs なら意味がすぐに分かるのですが、 その前に \ をつける必要性が分かりません。 この \ (私にとりましては余分に見える \ )には どのような意味があるのですか? どなたかお教え願えませんでしょうか? どうぞよろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- コマンドプロンプトでフォルダの容量を表示させるには
コマンドプロンプトを使って指定したフォルダ直下のファイルやフォルダの各容量を表示させたいです。 dir "フォルダ名" /s a-dを実行すると以下の様に表示できることから ------------------------------------------- "xxxのディレクトリ" xxx xxx xxx xxx n個のファイル xxxバイト -------------------------------------------- パイプを使って以下の様なイメージでfindでor条件を使い、フォルダ名とバイト数を表示させたいのですが、findにはor条件がないという噂を聞き、落胆しています。 (コマンドのイメージ)--------------------------------- dir "フォルダ名" /s a-d | find "のディレクトリ"or"バイト" --------------------------------------------------- (結果のイメージ)----------------------------------- "xxxのディレクトリ" n個のファイル xxxバイト "xxxのディレクトリ" n個のファイル xxxバイト "xxxのディレクトリ" n個のファイル xxxバイト ファイルの総数: xxx個のファイル xxxxバイト xxx個のディレクトリ xxxxxバイトの空き容量 --------------------------------------------------- 上の様なイメージで出力できるようなコマンド、どなたか教えて下さい。 宜しくお願いします。
- ベストアンサー
- その他(ソフトウェア)
- 正規表現について(Perl5準拠)
HSPでプログラミングをしてるのですが、標準のHSPでは正規表現が使えないため、Perl5に準拠した正規表現が扱えるモジュールをインクルードして使っています。 正規表現初心者です。 プログラムのなかでファイのパスからファイル名だけにマッチするような正規表現を使いたいのですが上手くいきません。 具体的には c:円dir1円dir2円filename.xxxからfilename.xxxを抜き出すために ※円マークが質問に表示されないぬで「円」と書きました。 [^円]+$ という正規表現を考えました。意味は「円」以外の文字で始まる行末までの文字列という感じです。 「円」がメタ文字の為の記号だからダメなんでしょうか?自体を認識するためにはどのようにしたらいいのでしょうか? それとも正規表現がダメなんでしょうか? Perl5の場合でいいので、分かる方、教えてください。
- 締切済み
- その他(インターネット・Webサービス)
- 正規表現で詰まっています。
こんにちは。 今、正規表現で困っています。 ファイルの中身 <meta name="description" content=""> <title> B'zのサイトへようこそ </title> 上記のようなhtmlのソースなのですが、以下のように変換できるように正規表現を考えましたが、できませんでした。 変換したい表現 <meta name="description" content="B'zのサイトへようこそ"> <title> B'zのサイトへようこそ </title> titleタグで囲まれた文字を、metaタグのcontentの中に入れたいのです。 とても困っています。どなたかご教授下さい。よろしくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- grep 正規表現の扱い方 特定のファイル郡のみを指定するには?
ディレクトリのファイルをgrepを使った正規表現で指定したいのですが、 /hoge/temp[001-999].php のように、hogeディレクトリにあるphpファイル全てを含め、なおかつ、 /hoge/foo/temp[001-999].php のように、hoge/fooディレクトリにあるphpファイルを全て含めない正規表現の書き方を教えてほしいです。 正規表現にあまり詳しくなく、思いつくものといっても「hoge/.*.php」くらいで、当たり前ですが双方のディレクトリが含まれてしまいます・・・。 もう一つ、質問です。 /hoge/ ディレクトリにあるファイル全てを含め、なおかつ /hoge/foo/ ディレクトリにあるファイルは全て含めない という指定の仕方も教えてほしいです。 分かる方がいましたら、お手数ですがぜひ教えてください。よろしくお願いします<(_ _)>
- 締切済み
- その他(プログラミング・開発)
- 正規表現について教えてください。
正規表現について教えてください。 以下の様なデータから末尾2文字が「01」を除くものだけを 取り出したいのですが、どのように書けばよいでしょうか。 ----------------------------- xxx01 xxx02 xxx11 xx100 xx101 xx201 ----------------------------- ※xには、0-9A-Zの何れかが設定 上記の例でいうと、 A0001:除外 A0002:出力 A0011:出力 A0100:出力 A0101:出力 A0201:出力 となります。 要は、 「A0001」は出したくないが、「A0101」、「A0201」、「A1001」などは出したいです。 末尾から3桁目が問題になるのではないかと思っています。 A[0-9][0-9]*[^1]') A[0-9][0-9]+[^1]') A[0-9][0-9][0-9][^1]') A[0-9][0-9][0-9]([^1]+)') A[0-9][0-9]([0-9]+|[0-9][^1])') A[0-9][0-9]([^0][0-9])([^1][0-9])') としてみたのですが、表示されません。 よろしくお願いします。
- ベストアンサー
- Oracle
- 秀丸で正規表現を使って置換
あるファイルに関して、このような置換を行いたいです。 abc/xxx,yyy,zzz.html ↓ abc/xxx.html xxxとyyyとzzzはある任意の文字列(英数字で文字数はばらばら)で 「abc/」と「,」と「.html」は固定の文字列になります。 そこで、秀丸で開いて、正規表現による検索で、 「abc/.*,.*,.*.html」 として検索すると、該当部分が検索できることがわかりましたが、置換後をどのように設定すればいいのかわかりません。 置換後のabc/xxx.htmlの「xxx.html」の部分は検索前の任意の文字列をそのまま残したいのです。 秀丸の置換機能でこのようなことは可能でしょうか? 正規表現に関してあまり詳しくないので教えてください。
- ベストアンサー
- その他(プログラミング・開発)
- 正規表現について教えてください。
正規表現について教えてください。 JavaScriptでプログラミングを行っています。 その中で文字列に対しゼロサプレスを行いたいと思い 調べた結果、正規表現を使用する以下のコードで 実現可能なことが分かりました。 val.replace(/^0+([0-9]+.*)/, "$1") コードを記述し実行すると確かに可能なのですが 正規表現を調べてみても何故これでゼロサプレスが可能なのか よく理解できませんでした。 申し訳ありませんが初心者でも理解できるように説明して頂けないでしょうか。 宜しくお願いします。
- ベストアンサー
- JavaScript
お礼
ありがとうございます。 早速、月曜日試してみます。