Schreiben Sie ABNF in Java und geben Sie die E-Mail-Adresse weiter

Es wird gesagt, dass es schwierig ist, E-Mail-Adressen im Programm zu analysieren, deshalb habe ich das ABNF mit vollem Funktionsumfang implementiert. Durch das Packen verschiedener Dinge können Sie JSON, JSON Pointer und JSON Patch einfach implementieren.

ABNF wird häufig in IETF-RFCs verwendet. E-Mail und JSON sind berühmt, und selbst das Schreiben von IP-Adresse und URL ist ABNF. Aus diesem Grund habe ich nur unzählige allgemeine Tools und Bibliotheken auf dem Markt gesehen, also habe ich es schnell geschafft.

Die Struktur ist nur eine Erweiterung von Parser, um so etwas wie eine Birda zu erstellen und sie dann von Text in ein Objekt zu konvertieren. ABNF selbst ist ebenfalls in ABNF geschrieben, aber da dies das erste Mal ist, wird es nur vom Builder erstellt. Da Sie einen Parser erstellen können, indem Sie das Format von JSON usw. angeben, können Sie ihn vervollständigen, indem Sie ein Builder-ähnliches Teil einbinden, das die Ausgabeteile zusammensetzt.

Ein Teil von RFC ABNF ist in SoftLibRFC zusammengefasst, daher werde ich die Verwendung vorstellen. Sie benötigen lediglich SoftLibRFC, SoftLibABNF und SoftLib. SoftLib JSON wird nicht verwendet. Derzeit ist nur der Quellcode verfügbar. Verwenden Sie ihn daher entsprechend.

Die Klasse net.siisise.abnf.rfc.IMF5322 ist die ABNF von RFC-Mail, und RFC 5322 ist fast dieselbe. IMF5322.angleAddr ist genau richtig, um nur E-Mail-Adressen zu definieren. Da die Definition in einer Variablen namens REG gespeichert ist, kann sie von dort übernommen oder veröffentlicht werden, wenn sie nicht veröffentlicht wird.

boolean b = IMF5322.REG.ref("angle-addr").eq(Mail Adresse);

Ich frage mich, ob es als boolesch beurteilt werden kann. Der einzelne ABNF ist eine ABNF-Klasse. Es gibt Methoden wie boolean eq (String) exakte Übereinstimmung und boolean ist (String) erste Übereinstimmung, also versuchen Sie es bitte. Wenn Sie es mit einer Klasse namens Packet kombinieren, können Sie verschiedene Dinge tun, aber diesmal wird es weggelassen. ABNF kann multipliziert und vergrößert werden.

Alles zusammen verwenden

Sie können ABNFReg benennen und registrieren und in der Definition darauf verweisen. .rule (Name, ABNF) und .rule (Name, Regel) .rule (Regel) sind alle registrierte ABNF. .ref (String) und .href (String) bringen den ABNF namentlich registriert. Da sich das Verhältnis der Registrierungsreihenfolge ändern kann, gibt es einen Unterschied, ob nicht registrierte Artikel abgerufen werden sollen oder nicht. Es ist auch möglich, mehrere Definitionen gleichzeitig mit .rulelist (String) zu registrieren. Möglicherweise ist eine Pause erforderlich.

Es ist seltsam, dass JSON bei der Erweiterung an Bord sein wird.

SoftLibRFC https://github.com/okomeki/SoftLibRFC SoftLibABNF https://github.com/okomeki/SoftLibABNF SoftLib https://github.com/okomeki/SoftLib RFC 5234 ABNF https://tools.ietf.org/html/rfc5234 RFC 8259 JSON https://tools.ietf.org/html/rfc8259

Recommended Posts

Schreiben Sie ABNF in Java und geben Sie die E-Mail-Adresse weiter
Schreiben Sie ABNF in Java und geben Sie die E-Mail-Adresse weiter
In Bezug auf transiente Modifikatoren und Serialisierung in Java
Schreiben Sie eine Klasse in Kotlin und nennen Sie sie in Java
In der Abbildung verstandene Java-Klassen und -Instanzen
Schreiben Sie Flyway-Rückrufe in Java
Implementieren Sie das Senden von E-Mails in Java
Schreiben Sie Java8-ähnlichen Code in Java8
Suchen Sie die Adressklasse und den Adresstyp aus der IP-Adresse mit Java
JSON in Java und Jackson Teil 1 Gibt JSON vom Server zurück
Korrigieren Sie den Zeichencode in Java und lesen Sie von der URL
Definieren Sie abstrakte Methoden in Java enum und schreiben Sie deren Verhalten
Denken Sie über die Unterschiede zwischen Funktionen und Methoden nach (in Java)
So schreiben Sie Kommentare in die Schemadefinitionsdatei in GraphQL Java und spiegeln sie in GraphiQL und GraphQL Playground wider
Greifen Sie mit Java auf die Netzwerkschnittstelle zu
Ich habe eine E-Mail in Java gesendet
Errate den Zeichencode in Java
Übergeben Sie das Gebietsschema i18n an JavaScript
[Java] Ordnen Sie die Daten des vergangenen Montags und Sonntags der Reihe nach an
Beispiel für Codierung und Decodierung in Java
Geben Sie den Java-Speicherort in eclipse.ini an
Entpacken Sie die Zip-Datei in Java
StringBuffer- und StringBuilder-Klasse in Java
Schreiben Sie Schlüssel und Werte in Ruby
Java als Wert übergeben und als Referenz übergeben
Analysieren der COTOHA-API-Syntaxanalyse in Java
Verstehe gleich und hashCode in Java
Hallo Welt in Java und Gradle
Rufen Sie die Super-Methode in Java auf
Finden Sie die Adressklasse und den Adresstyp aus der IP-Adresse mit Java [Abkochung Nr. 2]
Webanwendungsstruktur nach Java und Verarbeitungsablauf in der Präsentationsschicht
Geben Sie die Reihenfolge an, in der die Konfigurationsdateien und Klassen in Java geladen werden
Die Geschichte, zu vergessen, eine Datei in Java zu schließen und zu scheitern
Ein Hinweis zu den Unterschieden zwischen Schnittstellen und abstrakten Klassen in Java
[Java] Schreiben Sie ein Programmierquiz SET INTERSECTION mit StreamAPI in eine Zeile
Dies und das der Implementierung der zeitlichen Beurteilung von Daten in Java
Ich möchte die IP-Adresse erhalten, wenn ich mit Java eine Verbindung zu Wi-Fi herstelle
Finden Sie das Maximum und Minimum der fünf in Java eingegebenen Zahlen
<java> Teilen Sie die Adresse vor und nach der Adresse mit einem regulären Ausdruck
Überprüfen Sie den MX-Eintrag der E-Mail-Adresse mit Java und die Domain
Verstehen Sie den Unterschied zwischen int und Integer und BigInteger in Java und float und double
So erstellen Sie Ihre eigene Anmerkung in Java und erhalten den Wert
Holen Sie sich das Ergebnis von POST in Java
Unterschied zwischen final und Immutable in Java
Java-Referenz zum Verständnis in der Abbildung
Versuchen Sie es mit der Stream-API in Java
Rufen Sie die Windows-Benachrichtigungs-API in Java auf
Java SE8 Silber ~ Der Weg zum Pass ~
Ich habe das neue Yuan-Problem in Java ausprobiert
[Java] Verwenden Sie kryptografische Technologie mit Standardbibliotheken
Notizen im Kopf organisieren (Java-Arrangement)
[Java] Wie man Dateien ausgibt und schreibt!
Versuchen Sie, den CORBA-Dienst unter Java 11+ aufzurufen
Überprüfen Sie die Eindeutigkeit Ihrer E-Mail-Adresse
Was ist die Hauptmethode in Java?
So erhalten Sie das Datum mit Java
[Java 7] Teilen Sie die Java-Liste und führen Sie den Prozess aus
Unterschied zwischen Arrylist und verknüpfter Liste in Java
Programmieren Sie PDF-Kopf- und Fußzeilen in Java