[JAVA] Une petite histoire d'expression régulière Partie 1

prologue

Il était une fois Yura, Moya-san et l'entourage de Yura dans un endroit appelé Twitter. Chaque fois que Yura fait quelque chose, l'entourage dit:

Sujet principal

Je ferai la première moitié du dernier mot de M. Moya avec les expressions régulières Java. Référence: http://www.javadrive.jp/regex/ Je n'aborderai pas les expressions régulières dans d'autres langues.

introduction

Commençons par diviser "Yura-chan cute" (A) en deux parties. Disons "Yura-chan" (ci-après B) et "mignon" (ci-après C).

Japonais complexe

Le japonais est compliqué. Même avec le même "A", il existe des caractères kana tels que "A" et "A". Faisons correspondre B et C à cela, en supposant que cela ne correspond pas à la même lecture de kanji. Vous pouvez le faire en utilisant this. B = [Yuyu] [Lalala] [Chichichi] [Yayaya] [Nun] C = [Kakaka] [Wow Wow] [Iii] [Iiii] Pour C, "i" est toujours deux consécutifs, utilisez donc this pour le raccourcir. C = [Kakaka] [Wow Wow] [Iii] {2} C'est bon.

Inversion des mots

Les expressions régulières peuvent être synthétisées en concaténant les relations avant et arrière sous forme de chaîne de caractères à moins que le début et la fin ne soient spécifiés. Par exemple, si c'est "B + C", 100% du "Erachan Kawaii" sera capturé. Mais que faire si vous dites cela? "** Mignon ** Yo ** Yura-chan **" Ce sera difficile s'il est inversé. Ici, utilisez this et this Définissons un nouveau D. D=.* «D» sera pris dans une chaîne appropriée de 0 caractères ou plus. (Autrement dit, il se fera prendre même si ce n'est pas le cas) Si vous utilisez ceci, vous pouvez gérer l'inversion précédente avec C + D + B. Même si "Yura-chan est mignon", vous pouvez le gérer avec B + D + C.

Composition d'expression régulière

Enfin, combinons plusieurs expressions régulières en une seule. Puis, une personne qui a dit de cette façon est apparue.

Revenons au sujet principal. Combinez en utilisant la méthode ci-dessus afin que les expressions régulières puissent rechercher «B + D + C» et «C + D + B» en même temps. Ce sera long, mais ce sera comme ça. (Ci-après E) E=([Yuyu][Lala]([Chichichi][Yayaya][Hmmmm]|[Yuyu][Lala]).*[Kakaka][WowWow][Iiii]{2}|[Kakaka][WowWow][Iiii]{2}.*[Yuyu][Lala]([Chichichi][Yayaya][Hmmmm]|[Yuyu][Lala])) semble fort Vous pouvez probablement trouver la plupart de "Yura-chan mignon" avec cela. Peut-être.

Les personnes qui ont coopéré avec le nom

Moya: Twitter Yura: Twitter Merci beaucoup.

finalement

Yura est mignon ~~ Je suis désolé de ne pas être doué pour écrire ~~ Pour la deuxième partie, allez sur ici

Recommended Posts

Une petite histoire d'expression régulière Partie 1
Une petite histoire d'expressions régulières Partie 2
Une petite histoire troublée avec Groovy
Une petite histoire addictive avec def initialize
Bases des expressions régulières
Expression régulière JS
Expression régulière Ruby
^, $ dans l'expression régulière Rails
exemple d'expression régulière unicode
Expression régulière Ruby Extrait d'une chaîne de caractères spécifique vers une chaîne de caractères
Expression régulière pour le mot de passe
résumé des expressions régulières java
[Java] Découpez une partie de la chaîne de caractères avec Matcher et des expressions régulières
Extraire une chaîne de caractères commençant par une majuscule avec une expression régulière (Ruby)
Expression régulière de jugement pleine largeur / demi-largeur
Qu'est-ce qu'une expression lambda?
Apprenez les expressions régulières petit à petit ①
Une histoire bloquée avec NotSerializableException
Remplacer par une valeur selon la correspondance avec une expression régulière Java
Une petite histoire addictive après la mise à jour du pilote JDBC pour PostgreSQL
Je veux extraire entre des chaînes de caractères avec une expression régulière