正規表現(Patternクラス、Matcherクラス)

※好みとよく使いそうなもののみ記載しているので、全量じゃない点に注意。ただ、書いていないものは使い道が分からなんだ。

 

➀文字クラス

・[abc]…a、b、またはc【単純クラス】

・[^abc]…a、b、c以外の文字【否定】

・[a-zA-Z]…a-zまたはA-Z【範囲】

・[a-d[m-p]]…a-dまたはm-p = [a-dm-p]【結合】

・[a-z&&[def]]…d、e、またはf【交差】

・[a-z&&[^bc]]…a-z(bとcを除く) = [ad-z]【減算】

・[a-z&&[^m-p]]… a-z(m-pを除く) = [a-lq-z]【減算】

 

②定義済み文字クラス

・¥d…[0-9] = 数字

・¥D…[^¥d] = 数字以外

・¥s…[¥t¥nx0B¥f¥r] = 空白文字

・¥S…[^¥s] = 空白文字以外

・¥w…[a-zA-Z0-9] = 単語構成文字

・¥W…[¥w] = 単語構成文字以外

 

③境界正規表現エンジン

^…行の先頭

$…行の末尾

 

④数量子(最長一致数量子)
・X?…X、1または0回
・X*…X、0回以上
・X+…X、1回以上
・X{n}…X、n回
・X{n,}…X、n回以上
・X{n,m}…X、n回以上m回以下

 

【参考】

・【Java正規表現】文字列をチェックするパターンの書き方とサンプル

https://www.sejuku.net/blog/13215

・忘れっぽい人のための正規表現チートシート

https://qiita.com/tossh/items/635aea9a529b9deb3038

Java SE8リファレンス

-java.util.regex.Patter

https://docs.oracle.com/javase/jp/8/docs/api/java/util/regex/Pattern.html

-java.util.regex.Matcher

https://docs.oracle.com/javase/jp/8/docs/api/java/util/regex/Matcher.html