Expressions;regex)正規表現とは何か?正規表現とは、通常の検索よりもずっと複雑な状態を検索するためのもの。nlFilterで主に使ったり使わなかったりする。正規表現であれば、「nicocache_nl」と入力する以外にも「[a-z]{9}_[a-z]{2}」という形で検索することもできるこれはすなわちaからzまでのアルファベット小文字が9文字とアンダースコアとアルファベット小文字2文字にヒットする。「.*?_.*」でもヒットするし、「\w+_\w+」でもヒットするし、「[a-z]+_[a-z]+」という形でもヒットする。並び順を捨てて「[a-z_]+」でもよい。このように様々な状態を用途に応じて検索する機能をもつ。editorメタ文字メタ文字は通常の文字としての扱いを外れ、特殊な扱いを受ける。paren)グループ化して記憶しておく。Match<では\0,\1\2,\3...で参照して再利用する。(円記号)(補足:日本語環境では公式で文字化けしているため円記号で表示されるが、英語環境ではバックスラッシュ「\(これの半角バージョン)」で表示される。紛らわしいことこの上ない。)このキャラクタの直後のメタ文字をエスケープし、通常の文字としての扱いを受けるようにする。"\^"と書くと"^"で検索される。文字がどれだけ現れるか(量)定義するものである(指定子)。(curl)とも呼ばれる"{}"に数字nを書き加えるとn回あらわれることを指定したことになる。a{3}はaaaにマッチするが、aaaaやaaにはマッチしない。(bracket))内になにか表現を書き込むことで、幅のある複数の文字1文字にマッチするようなる。半角ローマ字と@と_(アンダースコア)とピリオド。メールアドレスを構成する文字。「\.」というふうになっているのはピリオドがメタキャラクタであるため、エスケープしている。わからないけど半角カタカナのコード順は「ヲァィゥェォャュョッーアイウ」というふうに始まり、濁点半濁点で終わる。例:(abc)(def)だと\1=abc,\2=defになるが、(?:abc)(def)とすると\1=def,\2=NULLとなる。」という正規表現を書くと結果は「<tr><td>boom</td></tr>」が返ってくる。これは".+"の条件が続く限り行末までマッチするためである。他に「.*」などがある。」とすると「<tr>」「<td>」「</td>」「</tr>」が結果として返ってくる。他に「.*?」がある。いった文字列がある場合にこんな正規表現を書くと「大谷(?=大学)」「大谷大学」という結果が返ってくる。いう文字列があるとすると「(?<=和風)料理」となり結果は「和風料理」が返ってくる。正規表現チェッカを用いることで、正規表現がどんなものか体験できる。www\.nicovideo\.jp/watch/[a-z]{2}[0-9]{1,12}この例では、.(ドット)の前にエスケープメタ文字(\)を置くことで通常の文字としての扱いを受けるようにしている。[a-z]でa,b,c,d,e,f,g.....zまでのアルファベット1文字を文字クラスとして指定し、{2}の量指定子でaからzまでの文字が2文字現れることを指定している。この場合www.nicovideo.jp/watch/sm123456にマッチするし、www.nicovideo.jp/watch/nm9999999にもマッチするし、www.nicovideo.jp/watch/so6584231000にもマッチするが、www.nicovideo.jp/watch/546985327にはマッチしない。