tips  >> 02.プログラミングなど  >> 正規表現めも.txt [takaaki024]  [blog]  [フレームで表示]
 

正規表現めも


実例があるたびに書き込もう


'山田 花子' → '山田 花子' と変換(半角→全角)

before : '([^a-zA-Z]*) ([^a-zA-Z]*)'
after  : '\1 \2'


全部のカタカナ

    ひらがな : [ぁ-ん]
    カタカナ : [ァ-ヴー]



最小一致

正規表現 - 最小一致とか

'*''+'、または '?' の各修飾子のあとに '?' を指定すると、無制限の一致から、制限された一致、つまり最小一致に変わります。


最大一致の例 : <.*>
    ↓これ全体が引っかかる
    <H1>aaaaaaabcccccc</H1>

最小一致の例 : <.*?>
    ↓<H1>, </H1> だけが引っかかる
    <H1>aaaaaaabcccccc</H1>



before : (├─|    |│  |└─)
after  : \t

treeコマンドで出た区切り文字を全部TABに変換




改行コード変換

s/\x0d\x0a|\x0d|\x0a/\n/g

# 変換( CRLF,CR,LF -> LF )して 
find aaa -type f -exec perl -i -pe 's/\x0d\x0a|\x0d|\x0a/\n/g' {} \;

# バックアップファイルは消す
find aaa -type f -name "*.bak" -exec rm {} \;

# ※ CRLFにしたいときはこう
# find aaa -type f -exec perl -i -pe 's/\x0d\x0a|\x0d|\x0a/\r\n/g' {} \;


同じ単語が(アンダーバー区切りで)2回続けて出てくるパターン

  _([^_]+)_\1



クラスとメソッド一覧

    grep -E "\s*([^\s]\s+)?[^\w](function|class)" xxxx.abcdump



ソース内で使っているOpenGLのAPI一覧

    grep -E "gl[A-Z]" -r * | grep -v .svn | perl -pe 's/^[^:]+://' | perl -pe 's/(gl[A-Z])/\n\1/g' | grep "gl[A-Z]" | perl -pe 's/.*(gl[A-Z][^ \(\)>:,&]+).*/\1/' | sort | uniq



行末にある空白を見つける

    grep -E "[^\s]\s+$" -r xxxxx



ヘッダファイルのあるディレクトリの一覧

    find * -name "*.h" | perl -pe 's%/[^/]*?$%%' | sort | uniq


単語としてマッチ

    \<tango\>




「ここは違う」、「ここはこうするといいよ」等あったら下記フォームから連絡ください。
※ 何も来なさすぎて寂しいので、雑談とかグチのメールでも歓迎です。

お名前
e-mail
本文