正規表現で文字列置換をする方法が分からない(初心者)
- 正規表現を使った文字列置換の方法が分かりません。特にreplace.wsfでの正規表現の使い方について困っています。
- replace.wsfで正規表現を使う場合、パターンを"/ /g"で囲む必要がありますが、うまくいきません。
- また、任意の文字をドット . で置換する方法も分かりません。具体的には、URLの一部を「______.____.jp/____/____/____/____」という表記に置換したいです。
- ベストアンサー
正規表現のタイプがわからない(初心者)
正規表現で置換ができることを知り、こういうサイトを見つけました。 @IT:Windows TIPS -- Tips:複数ファイルの文字列置換をワンクリックで行なう http://www.atmarkit.co.jp/fwin2k/win2ktips/308strrpl/strrpl.html そこでreplace.wsfを作りましたが、正規表現がうまくいきません。 replace.wsfは正規表現を使う場合は "/ /g" で囲うらしいのですが urlのようなスラッシュ / が多いものを円記号 \ でエスケープしましたがうまくいきません。 さらに http://msdn.microsoft.com/ja-jp/library/aa293063(VS.71).aspx というサイトで任意の文字をドット . で置換したいんですができません。 以下書いたものを載せます 文字はアンダーバー _ で書いています strRepl="/http:[\/][\/]______.____.jp[\/]____/____[\/][0-9][0-9][0-9][0-9][\/][0-9][0-9][\/][0-9][0-9]/g"; /* 置換対象文字列 */ [\/]はかっこなしでも試しましたができませんでした [0-9]の部分は年月日が入ります。 replace.wsfで正規表現を実現させることができません。 正しい方法を教えてください!!
- qeba
- お礼率97% (38/39)
- Windows Vista
- 回答数1
- ありがとう数3
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こういうのを上手にできない人に共通していることとして 最初から結果を求めるのよね。 まずは、短い文字列を置換することからはじめるべきよ。
関連するQ&A
- 正規表現で置換したい
ブログのシステムを変更して、 記事中にある内部リンクの書き換えが必要となりました。 現在、記事中に post-001.html post-005.html ・ ・ ・ post-853.html という文字列があります。 数字は飛び飛びでそれぞれ異なり500個ほどあります。 WordPressのプラグインの「Search Regex」を使って置換をしたいのですが、 正規表現で置換して、 ハイフンをアンダーバーに置換し、お尻の「.html」は削除して post_001 post_005 ・ ・ ・ post_853 としたいのですが、正規表現で置換する場合、 どのようにすればいいのでしょうか。 「post-」を ( ) でくくればいいのでしょうか。 「.html」削除するにはどうすればいいのでしょうか。 Search Regex に Search pattern(置換前の文字列)と Replace pattern (置換後も文字列)を入力する欄があります。 上のような文字列を置換したい場合は、 それぞれどのような記号を入力すればよいのでしょうか。 アドバイスをよろしくお願いいたします。
- ベストアンサー
- Perl
- 正規表現でエスケープ文字の置換
正規表現でエスケープ文字( 等)を別の文字列に置換しようと思い、「/&.+;/」というパターンを作成したのですが、エスケープ文字が連続する場合( <)1文字に置換されてしまいます。 正規表現をご存知の方、ご教授ください。
- ベストアンサー
- JavaScript
- JSP内の正規表現で、行先頭の/文字の意味は?
お世話になります。 JSP内で、以下の正規表現で、文字列の行先頭と行末尾の 半角スペースを、置換を利用してTrim機能を実現しています。 var obj1 = document.getElementById("chaText").innerText; var obj1b = obj1.replace(/^\s+|\s+$/g, ""); document.getElementById("chaText").innerHTML = obj1b; そこでご質問させてください。 上記2行目において、 obj1.replace(/^\s+|\s+$/g, ""); という置換を実施していますが、 このreplace引数文字列の1文字目である /(スラッシュ)文字の意味を教えてください。 (他の各文字列につきましては調べが付きましたが、 この/(スラッシュ)文字を、ここに記述している意味だけが 不明の為・・・) 以上になります。 よろしくお願い致します。
- 締切済み
- Java
- Perl正規表現(置換)
Perlを用いてテキスト中の文字列 /^\d+$|^\d+\.[05]{1}$/ を、以下の文字列に置換したい場合、 うまくやる方法はないでしょうか? /^[0]+$|^[0]+\.[0]+$/ 正規表現を使いたいですが、 1つ1つエスケープしていくのはさすがに・・・ よろしくお願いいたします。
- ベストアンサー
- Perl
- 正規表現を使用しない置換方法で giオプション
正規表現を使用せず文字列を置換したいと思っています。 (文字列.replaceはOKだが引数で正規表現は使用せず、単純置換のみ) その際、以下を満たす置換方法はありますか? 1.大文字小文字区別せず 2.検出した箇所すべて 例えば 文字列.split("検出文字列").join("置換文字列") のような方法であれば、2は満たせますが、1が満たせません。 ご回答お待ちしております。
- ベストアンサー
- JavaScript
- エスケープ文字そのものにマッチさせる正規表現
お世話になっております。 PHPの正規表現でエスケープ文字\そのものにマッチさせる正規表現がなかなか作れません。Perl互換のpreg_replaceなども試してみましたがダメでした。エスケープ文字そのものを削除したいのですが、どうしたらよいでしょうか? $value = ereg_replace ('\\', '', $value);//ダメでした。 $value = preg_replace ('/\\/', '', $value);//同様にダメでした。 $value = preg_replace ('/[\\]/', '', $value);//同様にダメでした。 文字列中に\が入っていたり、単独で\があった場合は必要ないので削除するといった感じです。 $value = ereg_replace ('[][}}{)(!"#$%&\\~|*+,/\^\'<>`;:?\\=]', '', $value); これでいけるかと思ったのですが、\だけ残ってしまいます。最後辺りの\\で\文字それ自体にマッチするかと思うんですが…。 わかる方がいらしたらおしえてください。よろしくお願いします。
- ベストアンサー
- PHP
- (C#)1バイトの正規表現
下記のような正規表現による置換をほどこしました。 Buffer=Regex.Replace(Buffer,"^[\x00-\xff]{100}","",RegexOptions.Singleline); 文字列の先頭の100バイトを削除する正規表現ですが、うまく動作しません。 どうも文字コードに問題があるようなのですが、原因のわかる方いらっしゃいますか?
- 締切済み
- C・C++・C#
お礼
ありがとうございます。短い文字列から始めてみたいと思います。