1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ちょっとした正規表現のおはなし 後編

Posted at

前編はこちらから

おことわり

前編のプロローグの一部は事実ですが、後編の登場人物の発言についてはフィクションです。

前編から

前回、「ゆらちゃんかわいい」を探すために正規表現を作りました...が
Screenshot_20170113-001102.png
あっちゃー
やられましたね
もやさんも**「検索避けも対策する」**と言っています
こうして、また新たな正規表現を作るのでした

本題

はじめに

前編のEは、前編としての結果であり、後編では使いません。
このため欠番とします。
それ以外は前編から継承します。
参考とするサイトは、前編と同じこことします。

検索避け

やりましょう。

と言いたい所ですが、よく見てみて下さい。
[]も使ってるじゃないですか。予約文字ですよ?
.*(D)とすれば楽だとは思うのですが、検索避けに使われる文字だけを指定しようと思います。(とは言っても定義が曖昧で、かつ色々な文字が使われるので、適当に思いつくものだけとします。)
やはりこれを使うのですが、エスケープ(\\)は使えるのでしょうか?

結論から言うと、できます
なので、ここも参考にFを定義します。
F=[\[\]\/\\\s]
あとはBC(「い」2連続処理前)に入れるだけですね
B=[ゆゅユュユ][\[\]\/\\\s][らララ][\[\]\/\\\s]([ちチチ][\[\]\/\\\s][やゃヤャヤャ][\[\]\/\\\s][んンン]|[ゆゅユュユ][\[\]\/\\\s][らララ])
C=[かカヵカ][\[\]\/\\\s][わゎワヮワ][\[\]\/\\\s][いぃイィイ][\[\]\/\\\s][いぃイィイ]
長い。
それでは、前編で最後にやった事と同じ事をします。
B+D+CC+D+Bを同時に検索できる正規表現となるよう、合成します。
こうなります。(以下F)
F=([ゆゅユュユ][\[\]\/\\\s][らララ][\[\]\/\\\s]([ちチチ][\[\]\/\\\s][やゃヤャヤャ][\[\]\/\\\s][んンン]|[ゆゅユュユ][\[\]\/\\\s][らララ]).*[かカヵカ][\[\]\/\\\s][わゎワヮワ][\[\]\/\\\s][いぃイィイ][\[\]\/\\\s][いぃイィイ]|[かカヵカ][\[\]\/\\\s][わゎワヮワ][\[\]\/\\\s][いぃイィイ][\[\]\/\\\s][いぃイィイ].*[ゆゅユュユ][\[\]\/\\\s][らララ][\[\]\/\\\s]([ちチチ][\[\]\/\\\s][やゃヤャヤャ][\[\]\/\\\s][んンン]|[ゆゅユュユ][\[\]\/\\\s][らララ]))
もう意味不明
これでよろしいのではないでしょうか

最後に

これだけ?と思った方もいらっしゃると思いますが、ネタが尽きました
案があれば、コメントで言って頂ければ多分やります。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?