内容
仕事でよく使う正規表現パターンを記載しておく。
サクラエディタで確認済み
日付(YYYY-MM-DD HH:MM:SS)
[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}
特定文字を含まない行(例ではAAA)
^(?!.*(AAA)).*$
YYYY-MM-DD⇒YYYY/MM/DD変換
置換前:([0-9]{4})-([0-9]{2})-([0-9]{2}) [0-9]{2}:[0-9]{2}:[0-9]{2}
置換後:$1/$2/$3
全角文字検索
[\x{007F}-\x{7777}]
16進数で指定する
キャメルケース⇒スネークケース
①大文字の直前に、_を挿入
置換前:[A-Z]
置換後:\_$&
②大文字変換
置換前:(.)
置換後:\u\1
スネークケース⇒キャメルケース
①小文字変換
置換前:(.)
置換後:\l\1
②"_"の直後の文字を大文字変換
置換前:\_(.)
置換後:\u\1
二度の置換を行うのは面倒なので,一度の置換で行うなら
置換前:([A-Z])|_([A-Z])
置換後:\l\1\u\2
フルパスからファイル名を取り出す
(?<=/)(?!.*/).*
JAVA関連
getter,setter
javaを書いているとき
getter,setterを別の変数に設定するのが面倒なので
以下のフィールドを別の変数に設定するとき等
private String kanriNo;
private String kanriStr;
置換前:(^.* )(.)(.*);$
置換後:data.set\u\2\3(list.get\u\2\3());
data.setKanriNo(list.getKanriNo());
data.setKanriStr(list.getKanriStr());
Javaクラス内のフィールドをコメント付きで設定
/** コード */
private String code;
/** ラベル */
private String lavel;
/** 値 */
private BigDecimal value
わざわざ正規表現でやる必要もないんだけど
①改行を排除(改行またぎができればいいんだけど)
置換前:$\r\n
置換後:@@@
②変換
置換前:/\*{2} (.*?)\*/@@@private \S* (\S*);
置換後:set\u\2() // \1
③@@@を改行コードに変換
置換前:@@@
置換後:\r\n
setCode() // コード
setLavel() // ラベル
setValue() // 値
実数をBigDecimal変換
置換前:\d+(\.\d+|)
置換後:new BigDecimal("$&")
HTML関連
idを追加
javaのjsfをやっていてID名を設定したフィールド名と同じにしたい。
<h:inputText style="width : 30px" value="#{r.data.testData}" />
<h:inputText style="width : 30px" value="#{r.data.value}" />
<h:inputText style="width : 30px" value="#{r.data.label}" />
置換前:(value="#{)(.*\.)(\w+)(}")(.*$)
置換後:\1\2\3\4 id="\3" \5
実行後
<h:inputText style="width : 30px" value="#{r.data.testData}" id="testData" />
<h:inputText style="width : 30px" value="#{r.data.value}" id="value" />
<h:inputText style="width : 30px" value="#{r.data.label}" id="label" />
もっとスマートにやりたいな
idを修正
IDを記載したけど修正するのが面倒なときは、置換すればよいじゃないか
<h:inputText style="width : 30px" value="#{r.data.testData}" id="djaojojo" />
<h:inputText style="width : 30px" value="#{r.data.value}" id="dfjaojfoijo" />
<h:inputText style="width : 30px" value="#{r.data.label}" id="dddddddddd" />
置換前:(value="#{)(.*\.)(\w+)(}")(.)(id="\w+")(.*$)
置換後:\1\2\3\4\5id="\3"\7