«前の日記(2006-10-16) 最新 次の日記(2006-10-18)» 編集

いがいが日記


2006-10-17 [長年日記]

_ [VS][C++] VisualStudio正規表現検索

VS.NET 2003 って正規表現検索ができるんですね。

結構便利かも。

■ [->.]+method

でhoge->method()やfoo.method()が検索可能。

■ hoge:Wh*=[^=]

でhogeが左辺にある代入式を検索。比較のhoge == x にはマッチしない。

(:Whは任意の空白)

■void:Wh*.*¥(:Wh+int

でvoid型を返して、第一引数がintのメソッドを検索。

本日のツッコミ(全4件) [ツッコミを入れる]
_ amanoryo (2006-10-18 00:04)

2003 以前にも出来たと思うけど・・・(^^;<br>どうも表現が ruby や他のエディタと違うので、いまいち使いにくいのですよね。。。<br>使う時は使ってるけど。

_ bear.mini (2006-10-18 00:58)

正規表現初心者なので間違ってるかも知れませんが、-> か . に引っ掛けたいなら<br>[(->)|.] とかになるんでは?<br>[->.]と書くと '-' か '>' か '.' にヒットしてしまいそうな気がします。<br>それでもメソッドの呼び出しは見つかるんでしょうけど、意図してることとは違うかなとか思いました。<br><br>空白文字は \s とかじゃなくて :Wh なのか・・・<br>覚えてないと使いにくそうですね。

_ いが (2006-10-18 19:35)

>amanoryoさん(名前長くなってる!)<br>VSの2003以前はほとんど使ったことないので。。。<br>B社で半年くらい使ってたけど当時は正規表現なんて知らなかったなぁ。<br>正規表現は各所でかなり違いがあるので時々はまります。<br>正規表現辞典はその辺りが非常に詳細に書いてあって感服します。<br>2byteコードが絡むと文字コードがしゃしゃりでてきてさらに複雑に。。。<br><br>>bear.miniさん<br>ご指摘の通りです。さすが。<br>正確には以下のようにしないとダメ。<br>((¥-¥>)|¥.)method<br>[]の中では()は使えないみたいです。(その代わり、エスケープもしなくていい。)<br>でも、昨日のやつでも必要十分ですね。<br>っていうかもっと簡単に<br>[>.]method<br>で十分だった。<br>私も3ヶ月ほど前に正規表現を勉強した初心者ですが、これは便利ですねー。<br>意外とVSの正規表現をまとめたページが見つからないので、<br>ある程度情報が貯まったらまとめてみようかな。

_ いが (2006-10-18 19:36)

追記。<br>今日の正規表現<br>^:Wh*¥#:Wh*include:Wh+[<"](.+)[>"]<br>#include文にヒット。でもなぜか空白行がときどきヒットする。。。


«前の日記(2006-10-16) 最新 次の日記(2006-10-18)» 編集