diff --git a/docs/model/AU.html b/docs/model/AU.html index 0ceadec..47bd08b 100644 --- a/docs/model/AU.html +++ b/docs/model/AU.html @@ -281,6 +281,15 @@ IT + + + + 🇯🇵 + + JP + @@ -758,11 +767,50 @@

Overview of concepts

+ + + + +
+ + +
+
+ + + postal-code-prefix + - Postal code prefix + + + + +
+ +
+ + + +
+
+ + + postal-code-suffix + - Postal code suffix + + + +
+
+ + + + +
@@ -1368,6 +1416,10 @@

Example addresses

+ + + + @@ -1485,6 +1537,10 @@

Example addresses

+ + + + country
AU
@@ -1549,9 +1605,27 @@

Example addresses

Output for "address":
Apt. 19 Level 7  345 Main Street
 SYDNEY NSW 2000
-AUSTRALIA
+AU +

+ Expected: +

Apt. 19 Level 7  345 Main Street
+SYDNEY NSW 2000
+AUSTRALIA
+
+

+

+ Delta: +

--- expected_output
++++ actual_output
+@@ -1,3 +1,3 @@
+ Apt. 19 Level 7  345 Main Street
+ SYDNEY NSW 2000
+-AUSTRALIA
++AU
+

+ @@ -3544,13 +3618,13 @@

Children:

Formatting:

address = -street-address-alternative-1locality1admin-area1postal-codecountry-name +street-address-alternative-1locality1admin-area1postal-codecountry
Flattened formatting:
address =
-unit-typeunit-nameLevel floor␣␣buildingstreet
locality1admin-area1postal-code
country-name +unit-typeunit-nameLevel floor␣␣buildingstreet
locality1admin-area1postal-code-prefix-postal-code-suffix
country

@@ -5505,6 +5579,261 @@

Flattened formatting:
+ + + + + + + +

Parsing:

+
+ + + + +
+ Decomposition + + (ParsePostalCodeMandatorySeparatorExpression) + + + Anchor beginning: True
+ + Capture Reference: ParsePostalCodeMandatorySeparatorExpression
+ + + +
+ + + Capture postal-code + + (MATCH_REQUIRED) + + + + Parts:
+
    + +
  • + + +
    + + + Capture postal-code-prefix + + (MATCH_REQUIRED) + + + + Parts:
    +
      + +
    • + + + +
      + Regex Reference: kZipPrefixValueRe + + + + + Regex Reference: kAlphaNumericSequenceRe => + (?:[^\W_]+) + + + + +
      + + + +
    • + +
    + + + +
    + + +
  • + +
  • + + + +Separator: Regex Reference kZipCodeSeparatorsRe => + (?:[\s-]+) + + + +
  • + +
  • + + +
    + + + Capture postal-code-suffix + + (MATCH_OPTIONAL) + + + + Parts:
    +
      + +
    • + + + +
      + Regex Reference: kZipSuffixValueRe + + + + + Regex Reference: kAlphaNumericSequenceRe => + (?:[^\W_]+) + + + + +
      + + + +
    • + +
    + + + +
    + + +
  • + +
+ + + +
+ + + + + Anchor end: True
+
+ + + + +
+ +
+

Children:

+ +
+ + + + + + + +

Formatting:

+
+postal-code = +postal-code-prefix-postal-code-suffix +
+ +
Flattened formatting:
+
+postal-code =
+postal-code-prefix-postal-code-suffix +
+ +

+ # + + postal-code-prefix +

+
+ +Postal code prefix + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ # + + postal-code-suffix +

+
+ +Postal code suffix + + + + + + + + + + + + + + + + + + + + diff --git a/docs/model/BR.html b/docs/model/BR.html index 222a2e6..d0bcc83 100644 --- a/docs/model/BR.html +++ b/docs/model/BR.html @@ -281,6 +281,15 @@ IT + + + + 🇯🇵 + + JP + @@ -886,12 +895,51 @@

Overview of concepts

+
+ + + +
+ + +
+
+ + + postal-code-prefix + - Postal code prefix + + + +
+
+
+ + + postal-code-suffix + - Postal code suffix + + + + +
+ +
+ + +
+ + + + + +
@@ -1463,6 +1511,10 @@

Example addresses

+ + + + @@ -1593,6 +1645,10 @@

Example addresses

+ + + + country
BR
@@ -1657,9 +1713,32 @@

Example addresses

Centro Rio de Janeiro - RJ 20230-153 -Brasil +BR +

+ Expected: +

Avenida Mem de Sá, 1234
+Andar 1, Apto. 12
+Ponto de referência: Theatro Municipal do Rio de Janeiro
+Centro
+Rio de Janeiro - RJ
+20230-153
+Brasil
+
+

+

+ Delta: +

--- expected_output
++++ actual_output
+@@ -4,4 +4,4 @@
+ Centro
+ Rio de Janeiro - RJ
+ 20230-153
+-Brasil
++BR
+

+ @@ -1777,6 +1856,10 @@

Example addresses

+ + + + country
BR
@@ -1841,8 +1924,31 @@

Example addresses

Centro Rio de Janeiro - RJ 20230-153 -Brasil +BR + +

+ Expected: +

Avenida Mem de Sá, 1234
+1º andar, ap 12
+Ponto de referência: Theatro Municipal do Rio de Janeiro
+Centro
+Rio de Janeiro - RJ
+20230-153
+Brasil
+
+

+

+ Delta: +

--- expected_output
++++ actual_output
+@@ -4,4 +4,4 @@
+ Centro
+ Rio de Janeiro - RJ
+ 20230-153
+-Brasil
++BR
+

@@ -1945,6 +2051,10 @@

Example addresses

+ + + + country
BR
@@ -2007,8 +2117,29 @@

Example addresses

Andar 4 Brasília - DF 70297-400 -Brasil +BR + +

+ Expected: +

SCS – Quadra 6, Bloco A
+Andar 4
+Brasília - DF
+70297-400
+Brasil
+
+

+

+ Delta: +

--- expected_output
++++ actual_output
+@@ -2,4 +2,4 @@
+ Andar 4
+ Brasília - DF
+ 70297-400
+-Brasil
++BR
+

@@ -3927,13 +4058,13 @@

Children:

Formatting:

address = -street-address-alternative-1locality2locality1␣-␣admin-area1postal-codecountry-name +street-address-alternative-1locality2locality1␣-␣admin-area1postal-codecountry
Flattened formatting:
address =
-street,␣building
Andar floor,␣unit-typeunit-name
Ponto de referência: landmark
locality2
locality1␣-␣admin-area1
postal-code
country-name +street,␣building
Andar floor,␣unit-typeunit-name
Ponto de referência: landmark
locality2
locality1␣-␣admin-area1
postal-code-prefix-postal-code-suffix
country

@@ -6991,6 +7122,263 @@

Flattened formatting:
+ + + + + + + +

Parsing:

+
+ + + + +
+ Decomposition + + (ParsePostalCodeOptionalSeparatorExpression) + + + Anchor beginning: True
+ + Capture Reference: ParsePostalCodeOptionalSeparatorExpression
+ + + +
+ + + Capture postal-code + + (MATCH_REQUIRED) + + + + Parts:
+
    + +
  • + + +
    + + + Capture postal-code-prefix + + (MATCH_REQUIRED) + + + + Parts:
    +
      + +
    • + + + + Regex Reference: kZipPrefixValueRe => + (?:\d{5}) + + + +
    • + +
    + + + +
    + + +
  • + +
  • + + +
    + + + No capturing pattern + + (MATCH_OPTIONAL) + + + + Parts:
    +
      + +
    • + + + +Separator: Regex Reference kZipCodeSeparatorsRe => + (?:[\s-]+) + + + +
    • + +
    + + + +
    + + +
  • + +
  • + + +
    + + + Capture postal-code-suffix + + (MATCH_OPTIONAL) + + + + Parts:
    +
      + +
    • + + + + Regex Reference: kZipSuffixValueRe => + (?:\d{3}) + + + +
    • + +
    + + + +
    + + +
  • + +
+ + + +
+ + + + + Anchor end: True
+
+ + + + +
+ +
+

Children:

+ +
+ + + + + + + +

Formatting:

+
+postal-code = +postal-code-prefix-postal-code-suffix +
+ +
Flattened formatting:
+
+postal-code =
+postal-code-prefix-postal-code-suffix +
+ +

+ # + + postal-code-prefix +

+
+ +Postal code prefix + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ # + + postal-code-suffix +

+
+ +Postal code suffix + + + + + + + + + + + + + + + + + + + + diff --git a/docs/model/CA.html b/docs/model/CA.html index 0be0b40..538dcac 100644 --- a/docs/model/CA.html +++ b/docs/model/CA.html @@ -281,6 +281,15 @@ IT + + + + 🇯🇵 + + JP + @@ -562,6 +571,45 @@

Overview of concepts

+ + +
+ + +
+
+ + + postal-code-prefix + - Postal code prefix + + + + +
+ +
+ + + +
+
+ + + postal-code-suffix + - Postal code suffix + + + + +
+ +
+ + +
+ + @@ -1154,6 +1202,10 @@

Example addresses

+ + + + @@ -1234,8 +1286,16 @@

Example addresses

+ + + + postal-code-prefix
M5H
+ + + + - postal-code
M5H 2J9
+ postal-code-suffix
2J9
@@ -1305,8 +1365,27 @@

Example addresses

123 Main Street
 Apt. 306
 Ottawa, ON M5H 2J9
-Canada
+CA + +

+ Expected: +

123 Main Street
+Apt. 306
+Ottawa, ON M5H 2J9
+Canada
+

+

+ Delta: +

--- expected_output
++++ actual_output
+@@ -1,4 +1,4 @@
+ 123 Main Street
+ Apt. 306
+ Ottawa, ON M5H 2J9
+-Canada
++CA
+

@@ -1336,27 +1415,10 @@

-
-

Children:

- -
@@ -1364,339 +1426,3091 @@

Children:

-

Formatting:

-
-name = -given-nameadditional-namefamily-name -
-
Flattened formatting:
-
-name =
-given-nameadditional-namefamily-name -
-

- # - - given-name -

-
-First name -

- # - - additional-name -

-
-Middle name -

- # - - family-name -

-
-Last name +

Parsing:

+
-

- # + + + +
+ Decomposition Cascade - address -

-
+ + + Cascade:
+
    + +
  1. -Address of a physical location - Artificial concept, not to be used in HTML +
    + Decomposition Cascade + + (if kHasCjkNameCharacteristics) + + + + Condition:
    + -
    -

    Children:

    - -
    + Regex Reference: kCjkCharactersRe => + (?:(?:\p{Han}|\p{Hangul}|\p{Katakana}|\p{Hiragana}|\p{Bopomofo})+) +
  2. + +
  3. -

    Formatting:

    -
    -address = -street-addresslocality1,␣admin-area1postal-codecountry-name -
    +Regex Fragment: (?: -
    Flattened formatting:
    -
    -address =
    -address-line1
    address-line2
    address-line3
    address-line4
    locality1,␣admin-area1postal-code
    country-name -
    -

- # - - street-address -

-
+ + +
  • -Street address (street name, house number, apartment) + Regex Reference: kCjkNameSeperatorsRe => + (?:・|·| |\s+) -
    -

    Children:

    - -
    +Regex Fragment: )?$ +
  • + + + Wrap as non-capture group: True + -

    Formatting:

    -
    -street-address = -address-line1address-line2address-line3address-line4 -
    -
    Flattened formatting:
    -
    -street-address =
    -address-line1
    address-line2
    address-line3
    address-line4 -
    -

    - # +
    - address-line1 -

    -
    + Cascade:
    +
      + +
    1. + + +
      + Decomposition + + (ParseSeparatedCjkNameExpression) + + + Anchor beginning: True
      + + Capture Reference: ParseSeparatedCjkNameExpression
      + + + +
      + + + Capture name + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + +
        + + + Capture family-name + + (MATCH_REQUIRED) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kCjkCharactersRe => + (?:(?:\p{Han}|\p{Hangul}|\p{Katakana}|\p{Hiragana}|\p{Bopomofo})+) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + + +Separator: Regex Reference kCjkNameSeperatorsRe => + (?:・|·| |\s+) + + + +
      • + +
      • + + +
        + + + Capture given-name + + (MATCH_REQUIRED) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kCjkCharactersRe => + (?:(?:\p{Han}|\p{Hangul}|\p{Katakana}|\p{Hiragana}|\p{Bopomofo})+) + + + +
        • + +
        + + + +
        + + +
      • + +
      + + + +
      + + + + + Anchor end: True
      +
      + + +
    2. + +
    3. + + +
      + Decomposition + + (ParseKoreanTwoCharacterLastNameExpression) + + + Anchor beginning: True
      + + Capture Reference: ParseKoreanTwoCharacterLastNameExpression
      + + + +
      + + + Capture name + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + +
        + + + Capture family-name + + (MATCH_REQUIRED) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kTwoCharacterKoreanNamesRe => + (?:강전|남궁|독고|동방|망절|사공|서문|선우|소봉|어금|장곡|제갈|황목|황보) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + +
        + + + Capture given-name + + (MATCH_REQUIRED) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kHangulCharacterRe => + \p{Hangul} + + + +
        • + +
        • + + + + Regex Reference: kHangulCharactersRe => + \p{Hangul}+ + + + +
        • + +
        + + + +
        + + +
      • + +
      + + + +
      + + + + + Anchor end: True
      +
      + + +
    4. + +
    5. + + +
      + Decomposition + + (ParseCommonCjkTwoCharacterLastNameExpression) + + + Anchor beginning: True
      + + Capture Reference: ParseCommonCjkTwoCharacterLastNameExpression
      + + + +
      + + + Capture name + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + +
        + + + Capture family-name + + (MATCH_REQUIRED) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kTwoCharacterCjkLastNamesRe => + (?:남궁|사공|서문|선우|제갈|황보|독고|망절|欧阳|令狐|皇甫|上官|司徒|诸葛|司马|宇文|呼延|端木|張簡|歐陽|諸葛|申屠|尉遲|司馬|軒轅|夏侯) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + +
        + + + Capture given-name + + (MATCH_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kCjkCharactersRe => + (?:(?:\p{Han}|\p{Hangul}|\p{Katakana}|\p{Hiragana}|\p{Bopomofo})+) + + + +
        • + +
        + + + +
        + + +
      • + +
      + + + +
      + + + + + Anchor end: True
      +
      + + +
    6. + +
    7. + + +
      + Decomposition + + (ParseCjkSingleCharacterLastNameExpression) + + + Anchor beginning: True
      + + Capture Reference: ParseCjkSingleCharacterLastNameExpression
      + + + +
      + + + Capture name + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + +
        + + + Capture family-name + + (MATCH_REQUIRED) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kCjkCharacterRe => + (?:\p{Han}|\p{Hangul}|\p{Katakana}|\p{Hiragana}|\p{Bopomofo}) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + +
        + + + Capture given-name + + (MATCH_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kCjkCharactersRe => + (?:(?:\p{Han}|\p{Hangul}|\p{Katakana}|\p{Hiragana}|\p{Bopomofo})+) + + + +
        • + +
        + + + +
        + + +
      • + +
      + + + +
      + + + + + Anchor end: True
      +
      + + +
    8. + +
    + + + + + +
  • + + +
    + Decomposition Cascade + + (if kHasHispanicLatinxNameCharacteristics) + + + + Condition:
    + + + + +
    + Regex Reference: kHasHispanicLatinxNameCharacteristics + + + + Regex concatenation +
      + +
    1. + + +Regex Fragment: (?: + + +
    2. + +
    3. + + + + Regex Reference: kHispanicCommonLastNameCharacteristicsRe => + (?:Aguilar|Alonso|Álvarez|Amador|Betancourt|Blanco|Burgos|Castillo|Castro|Chávez|Colón|Contreras|Cortez|Cruz|Delgado|Diaz|Díaz|Domínguez|Estrada|Fernandez|Fernández|Flores|Fuentes|Garcia|García|Garza|Gil|Gómez|González|Guerrero|Gutiérrez|Guzmán|Hernández|Herrera|Iglesias|Jiménez|Juárez|Lopez|López|Luna|Marín|Marroquín|Martín|Martinez|Martínez|Medina|Méndez|Mendoza|Molina|Morales|Moreno|Muñoz|Narvaez|Navarro|Núñez|Ortega|Ortiz|Ortíz|Peña|Perez|Pérez|Ramírez|Ramos|Reyes|Rivera|Rodriguez|Rodríguez|Rojas|Romero|Rosario|Rubio|Ruiz|Ruíz|Salazar|Sanchez|Sánchez|Santana|Santiago|Santos|Sanz|Serrano|Soto|Suárez|Toro|Torres|Vargas|Vasquez|Vásquez|Vázquez|Velásquez) + + + +
    4. + +
    5. + + +Regex Fragment: | + + +
    6. + +
    7. + + + + Regex Reference: kHispanicLastNameConjunctionCharacteristicsRe => + \s(?:y|e|i)\s + + + +
    8. + +
    9. + + +Regex Fragment: ) + + +
    10. + +
    + Wrap as non-capture group: True + + + +
    + + + +
    + + Cascade:
    +
      + +
    1. + + +
      + Decomposition + + (ParseHispanicFullNameExpression) + + + Anchor beginning: True
      + + Capture Reference: ParseHispanicFullNameExpression
      + + + +
      + + + Capture name + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + +
        + + + No capturing pattern + + (MATCH_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kHonorificPrefixRe => + (?:Master|Mr\.?|Miss\.?|Mrs\.?|Missus|Ms\.?|Mx\.?|M\.?|Ma'am|Sir|Gentleman|Sire|Mistress|Madam|Ma'am|Dame|Lord|Lady|Esq|Excellency|Excellence|Her Honour|His Honour|Hon\.?|The Right Honourable|The Most Honourable|Dr\.?|PhD|DPhil|MD|DO|Prof\.|Professor|QC|CL|Chancellor|Vice-Chancellor|Principle|Principal|President|Master|Warden|Dean|Regent|Rector|Provost|Director|Chief Executive|Imām|Shaykh|Muftī|Hāfiz|Hāfizah|Qārī|Mawlānā|Hājī|Sayyid|Sayyidah|Sharif|Eminent|Venerable|His Holiness|His Holiness|His All Holiness|His Beatitude|The Most Blessed|His Excellency|His Most Eminent Highness|His Eminence|Most Reverend Eminence|The Most Reverend|His Grace|His Lordship|The Reverend|Fr|Pr|Br|Sr|Elder|Rabbi|The Reverend|Cantor|Chief Rabbi|Grand Rabbi|Rebbetzin|Herr|Frau|Fräulein|Dame|PD|Doktor|Magister|Ingenieur|1lt|1st|2lt|2nd|3rd|admiral|capt|captain|col|cpt|dr|gen|general|lcdr|lt|ltc|ltg|ltjg|maj|major|mg|pastor|prof|rep|reverend|rev|sen|st) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
      • + +
      • + + +
        + + + Capture given-name + + (MATCH_LAZY_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kMultipleLazyWordsRe => + (?:[^\s,]+(?:[^\S\r\n]+[^\s,]+)*?) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
      • + +
      • + + +
        + Capture Reference: ParseHispanicLastNameExpression + + + + +
        + + + Capture family-name + + (MATCH_REQUIRED) + + + + Parts:
        +
          + +
        • + + +
          + + + No capturing pattern + + (MATCH_REQUIRED) + + + + Parts:
          +
            + +
          • + + + + Regex Reference: kOptionalLastNamePrefixRe => + (?:(?:a|ab|af|av|ap|abu|aït|al|ālam|aust|austre|bar|bath|bat|ben|bin|ibn|bet|bint|binti|binte|da|das|de|degli|dele|del|du|della|der|di|dos|du|e|el|fetch|vetch|fitz|i??|kil|gil|de le|de la|la|le|lille|lu|m|mac|mc|mck|mhic|mic|mala|mellom|myljom|na|ned|nedre|neder|nic|ni|nin|nord|norr|ny|o|ua|ui|opp|upp|öfver|ost|öst|öster|øst|øst|østre|över|øvste|øvre|øver|öz|pour|putra|putri|setia|tor|söder|sør|sønder|sør|syd|søndre|syndre|søre|ter|ter|tre|van|van der|väst|väster|verch|erch|vest|vestre|vesle|vetle|von|zu|von und zu)\s)? + + + +
          • + +
          • + + + + Regex Reference: kSingleWordRe => + (?:[^\s,]+) + + + +
          • + +
          + + + +
          + + +
        • + +
        • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
        • + +
        • + + +
          + + + No capturing pattern + + (MATCH_OPTIONAL) + + + + Parts:
          +
            + +
          • + + + + Regex Reference: kHispanicLastNameConjunctionsRe => + (?:y|e|i) + + + +
          • + +
          + + + +
          + + +
        • + +
        • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
        • + +
        • + + +
          + + + No capturing pattern + + (MATCH_REQUIRED) + + + + Parts:
          +
            + +
          • + + + + Regex Reference: kOptionalLastNamePrefixRe => + (?:(?:a|ab|af|av|ap|abu|aït|al|ālam|aust|austre|bar|bath|bat|ben|bin|ibn|bet|bint|binti|binte|da|das|de|degli|dele|del|du|della|der|di|dos|du|e|el|fetch|vetch|fitz|i??|kil|gil|de le|de la|la|le|lille|lu|m|mac|mc|mck|mhic|mic|mala|mellom|myljom|na|ned|nedre|neder|nic|ni|nin|nord|norr|ny|o|ua|ui|opp|upp|öfver|ost|öst|öster|øst|øst|østre|över|øvste|øvre|øver|öz|pour|putra|putri|setia|tor|söder|sør|sønder|sør|syd|søndre|syndre|søre|ter|ter|tre|van|van der|väst|väster|verch|erch|vest|vestre|vesle|vetle|von|zu|von und zu)\s)? + + + +
          • + +
          • + + + + Regex Reference: kSingleWordRe => + (?:[^\s,]+) + + + +
          • + +
          + + + +
          + + +
        • + +
        + + + +
        + + + + +
        + + +
      • + +
      + + + +
      + + + + + Anchor end: True
      +
      + + +
    2. + +
    +
    + + +
  • + +
  • + + +
    + Decomposition Cascade + + + + Cascade:
    +
      + +
    1. + + +
      + Decomposition + + (ParseOnlyLastNameExpression) + + + Anchor beginning: True
      + + Capture Reference: ParseOnlyLastNameExpression
      + + + +
      + + + Capture name + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + +
        + + + Capture family-name + + (MATCH_REQUIRED) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kOptionalLastNamePrefixRe => + (?:(?:a|ab|af|av|ap|abu|aït|al|ālam|aust|austre|bar|bath|bat|ben|bin|ibn|bet|bint|binti|binte|da|das|de|degli|dele|del|du|della|der|di|dos|du|e|el|fetch|vetch|fitz|i??|kil|gil|de le|de la|la|le|lille|lu|m|mac|mc|mck|mhic|mic|mala|mellom|myljom|na|ned|nedre|neder|nic|ni|nin|nord|norr|ny|o|ua|ui|opp|upp|öfver|ost|öst|öster|øst|øst|østre|över|øvste|øvre|øver|öz|pour|putra|putri|setia|tor|söder|sør|sønder|sør|syd|søndre|syndre|søre|ter|ter|tre|van|van der|väst|väster|verch|erch|vest|vestre|vesle|vetle|von|zu|von und zu)\s)? + + + +
        • + +
        • + + + + Regex Reference: kSingleWordRe => + (?:[^\s,]+) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
      • + +
      • + + +
        + + + No capturing pattern + + (MATCH_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kLastNameSuffixRe => + (?:(?:b\.a|ba|d\.d\.s|dds|ii|iii|iv|ix|jr|m\.a|m\.d|md|ms|ph\.?d|sr|v|vi|vii|viii|x)\.?) + + + +
        • + +
        + + + +
        + + +
      • + +
      + + + +
      + + + + + Anchor end: True
      +
      + + +
    2. + +
    3. + + +
      + Decomposition + + (ParseLastCommaFirstMiddleNameExpression) + + + Anchor beginning: True
      + + Capture Reference: ParseLastCommaFirstMiddleNameExpression
      + + + +
      + + + Capture name + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + +
        + + + No capturing pattern + + (MATCH_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kHonorificPrefixRe => + (?:Master|Mr\.?|Miss\.?|Mrs\.?|Missus|Ms\.?|Mx\.?|M\.?|Ma'am|Sir|Gentleman|Sire|Mistress|Madam|Ma'am|Dame|Lord|Lady|Esq|Excellency|Excellence|Her Honour|His Honour|Hon\.?|The Right Honourable|The Most Honourable|Dr\.?|PhD|DPhil|MD|DO|Prof\.|Professor|QC|CL|Chancellor|Vice-Chancellor|Principle|Principal|President|Master|Warden|Dean|Regent|Rector|Provost|Director|Chief Executive|Imām|Shaykh|Muftī|Hāfiz|Hāfizah|Qārī|Mawlānā|Hājī|Sayyid|Sayyidah|Sharif|Eminent|Venerable|His Holiness|His Holiness|His All Holiness|His Beatitude|The Most Blessed|His Excellency|His Most Eminent Highness|His Eminence|Most Reverend Eminence|The Most Reverend|His Grace|His Lordship|The Reverend|Fr|Pr|Br|Sr|Elder|Rabbi|The Reverend|Cantor|Chief Rabbi|Grand Rabbi|Rebbetzin|Herr|Frau|Fräulein|Dame|PD|Doktor|Magister|Ingenieur|1lt|1st|2lt|2nd|3rd|admiral|capt|captain|col|cpt|dr|gen|general|lcdr|lt|ltc|ltg|ltjg|maj|major|mg|pastor|prof|rep|reverend|rev|sen|st) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
      • + +
      • + + +
        + + + Capture family-name + + (MATCH_REQUIRED) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kOptionalLastNamePrefixRe => + (?:(?:a|ab|af|av|ap|abu|aït|al|ālam|aust|austre|bar|bath|bat|ben|bin|ibn|bet|bint|binti|binte|da|das|de|degli|dele|del|du|della|der|di|dos|du|e|el|fetch|vetch|fitz|i??|kil|gil|de le|de la|la|le|lille|lu|m|mac|mc|mck|mhic|mic|mala|mellom|myljom|na|ned|nedre|neder|nic|ni|nin|nord|norr|ny|o|ua|ui|opp|upp|öfver|ost|öst|öster|øst|øst|østre|över|øvste|øvre|øver|öz|pour|putra|putri|setia|tor|söder|sør|sønder|sør|syd|søndre|syndre|søre|ter|ter|tre|van|van der|väst|väster|verch|erch|vest|vestre|vesle|vetle|von|zu|von und zu)\s)? + + + +
        • + +
        • + + + + Regex Reference: kSingleWordRe => + (?:[^\s,]+) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + +
        + + + No capturing pattern + + (MATCH_REQUIRED) + + + + Parts:
        +
          + +
        • + + +Regex Fragment: \s*,\s* + + +
        • + +
        + + + +
        + + +
      • + +
      • + + +
        + + + Capture given-name + + (MATCH_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kSingleWordRe => + (?:[^\s,]+) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
      • + +
      • + + +
        + + + Capture additional-name + + (MATCH_LAZY_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kMultipleLazyWordsRe => + (?:[^\s,]+(?:[^\S\r\n]+[^\s,]+)*?) + + + +
        • + +
        + + + +
        + + +
      • + +
      + + + +
      + + + + + Anchor end: True
      +
      + + +
    4. + +
    5. + + +
      + Decomposition + + (ParseFirstMiddleLastNameExpression) + + + Anchor beginning: True
      + + Capture Reference: ParseFirstMiddleLastNameExpression
      + + + +
      + + + Capture name + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + +
        + + + No capturing pattern + + (MATCH_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kHonorificPrefixRe => + (?:Master|Mr\.?|Miss\.?|Mrs\.?|Missus|Ms\.?|Mx\.?|M\.?|Ma'am|Sir|Gentleman|Sire|Mistress|Madam|Ma'am|Dame|Lord|Lady|Esq|Excellency|Excellence|Her Honour|His Honour|Hon\.?|The Right Honourable|The Most Honourable|Dr\.?|PhD|DPhil|MD|DO|Prof\.|Professor|QC|CL|Chancellor|Vice-Chancellor|Principle|Principal|President|Master|Warden|Dean|Regent|Rector|Provost|Director|Chief Executive|Imām|Shaykh|Muftī|Hāfiz|Hāfizah|Qārī|Mawlānā|Hājī|Sayyid|Sayyidah|Sharif|Eminent|Venerable|His Holiness|His Holiness|His All Holiness|His Beatitude|The Most Blessed|His Excellency|His Most Eminent Highness|His Eminence|Most Reverend Eminence|The Most Reverend|His Grace|His Lordship|The Reverend|Fr|Pr|Br|Sr|Elder|Rabbi|The Reverend|Cantor|Chief Rabbi|Grand Rabbi|Rebbetzin|Herr|Frau|Fräulein|Dame|PD|Doktor|Magister|Ingenieur|1lt|1st|2lt|2nd|3rd|admiral|capt|captain|col|cpt|dr|gen|general|lcdr|lt|ltc|ltg|ltjg|maj|major|mg|pastor|prof|rep|reverend|rev|sen|st) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
      • + +
      • + + +
        + + + Capture given-name + + (MATCH_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kSingleWordRe => + (?:[^\s,]+) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
      • + +
      • + + +
        + + + Capture additional-name + + (MATCH_LAZY_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kMultipleLazyWordsRe => + (?:[^\s,]+(?:[^\S\r\n]+[^\s,]+)*?) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
      • + +
      • + + +
        + + + Capture family-name + + (MATCH_REQUIRED) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kOptionalLastNamePrefixRe => + (?:(?:a|ab|af|av|ap|abu|aït|al|ālam|aust|austre|bar|bath|bat|ben|bin|ibn|bet|bint|binti|binte|da|das|de|degli|dele|del|du|della|der|di|dos|du|e|el|fetch|vetch|fitz|i??|kil|gil|de le|de la|la|le|lille|lu|m|mac|mc|mck|mhic|mic|mala|mellom|myljom|na|ned|nedre|neder|nic|ni|nin|nord|norr|ny|o|ua|ui|opp|upp|öfver|ost|öst|öster|øst|øst|østre|över|øvste|øvre|øver|öz|pour|putra|putri|setia|tor|söder|sør|sønder|sør|syd|søndre|syndre|søre|ter|ter|tre|van|van der|väst|väster|verch|erch|vest|vestre|vesle|vetle|von|zu|von und zu)\s)? + + + +
        • + +
        • + + + + Regex Reference: kSingleWordRe => + (?:[^\s,]+) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
      • + +
      • + + +
        + + + No capturing pattern + + (MATCH_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kLastNameSuffixRe => + (?:(?:b\.a|ba|d\.d\.s|dds|ii|iii|iv|ix|jr|m\.a|m\.d|md|ms|ph\.?d|sr|v|vi|vii|viii|x)\.?) + + + +
        • + +
        + + + +
        + + +
      • + +
      + + + +
      + + + + + Anchor end: True
      +
      + + +
    6. + +
    +
    + + +
  • + + + + + + + +
    + +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +name = +given-nameadditional-namefamily-name +
    + +
    Flattened formatting:
    +
    +name =
    +given-nameadditional-namefamily-name +
    + +

    + # + + given-name +

    +
    + +First name + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + additional-name +

    +
    + +Middle name + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + family-name +

    +
    + +Last name + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + address +

    +
    + +Address of a physical location - Artificial concept, not to be used in HTML + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +address = +street-addresslocality1,␣admin-area1postal-codecountry +
    + +
    Flattened formatting:
    +
    +address =
    +address-line1
    address-line2
    address-line3
    address-line4
    locality1,␣admin-area1postal-code-prefixpostal-code-suffix
    country +
    + +

    + # + + street-address +

    +
    + +Street address (street name, house number, apartment) + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +street-address = +address-line1address-line2address-line3address-line4 +
    + +
    Flattened formatting:
    +
    +street-address =
    +address-line1
    address-line2
    address-line3
    address-line4 +
    + +

    + # + + address-line1 +

    +
    + +1st line of street-address + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + address-line2 +

    +
    + +2nd line of street-address + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + address-line3 +

    +
    + +3rd line of street-address + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + address-line4 +

    +
    + +4th line of street-address + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + locality1 +

    +
    + +City + + + + + + + -1st line of street-address -

    - # - - address-line2 -

    -
    -2nd line of street-address -

    - # - - address-line3 -

    -
    -3rd line of street-address -

    - # - - address-line4 -

    -
    -4th line of street-address -

    - # - - locality1 -

    -
    -City

    # - admin-area1 + admin-area1 +

    +
    + +State + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + postal-code +

    +
    + +Postal code + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Parsing:

    +
    + + + + +
    + Decomposition + + (ParsePostalCodeOptionalSeparatorExpression) + + + Anchor beginning: True
    + + Capture Reference: ParsePostalCodeOptionalSeparatorExpression
    + + + +
    + + + Capture postal-code + + (MATCH_REQUIRED) + + + + Parts:
    +
      + +
    • + + +
      + + + Capture postal-code-prefix + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + + + Regex Reference: kZipPrefixValueRe => + (?:[ABCEGHJ-NPRSTVXY]\d[ABCEGHJ-NPRSTV-Z]) + + + +
      • + +
      + + + +
      + + +
    • + +
    • + + +
      + + + No capturing pattern + + (MATCH_OPTIONAL) + + + + Parts:
      +
        + +
      • + + + +
        + Separator: + + + + +
        + Regex Reference: kZipCodeSeparatorsRe + + + + + Regex Reference: kWhitespaceSeparator => + (?:^|\s+) + + + + +
        + + + + +
        + + + +
      • + +
      + + + +
      + + +
    • + +
    • + + +
      + + + Capture postal-code-suffix + + (MATCH_OPTIONAL) + + + + Parts:
      +
        + +
      • + + + + Regex Reference: kZipSuffixValueRe => + (?:\d[ABCEGHJ-NPRSTV-Z]\d) + + + +
      • + +
      + + + +
      + + +
    • + +
    + + + +
    + + + + + Anchor end: True
    +
    + + + + +
    + +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +postal-code = +postal-code-prefixpostal-code-suffix +
    + +
    Flattened formatting:
    +
    +postal-code =
    +postal-code-prefixpostal-code-suffix +
    + +

    + # + + postal-code-prefix +

    +
    + +Postal code prefix + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + postal-code-suffix +

    +
    + +Postal code suffix + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + country +

    +
    + +2-letter country code + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + country-name +

    +
    + +Name of a country + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + organization +

    +
    + +Name of an organization/company + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + credit-card +

    +
    + +Artificial concept, not to be used in HTML + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    Children:

    + +
    + +

    + # + + cc-name +

    +
    + +Full name of credit card holder + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +cc-name = +cc-given-namecc-additional-namecc-family-name +
    + +
    Flattened formatting:
    +
    +cc-name =
    +cc-given-namecc-additional-namecc-family-name +
    + +

    + # + + cc-given-name +

    +
    + +Given name of credit card holder + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + cc-additional-name +

    +
    + +Additional name of credit card holder + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + cc-family-name +

    +
    + +Family name of credit card holder + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + cc-number +

    +
    + +Credit card number + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + cc-exp-MMYY +

    +
    + +Credit card expiration date in format MM/YY + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +cc-exp-MMYY = +cc-exp-MM/cc-exp-YY +
    + +
    Flattened formatting:
    +
    +cc-exp-MMYY =
    +cc-exp-MM/cc-exp-YY +
    + +

    + # + + cc-exp-MM

    -State +Credit card expiration month (2 digits) + -

    - # - - postal-code -

    -
    -Postal code -

    - # - - country -

    -
    -2-letter country code -

    - # - - country-name -

    -
    -Name of a country -

    - # - - organization -

    -
    -Name of an organization/company -

    - # + + + + + + + +

    + # - credit-card + cc-exp-YY

    -Artificial concept, not to be used in HTML +Credit card expiration date in format YY (2 digits) -
    -

    Children:

    - -
    -

    - # + + + + + + + + + + + + + + + + +

    + # - cc-name + cc-exp-MMYYYY

    -Full name of credit card holder +Credit card expiration date in format MM/YYYY + + + + + + + + + + + + + + + + + + + + + + + + @@ -1706,17 +4520,12 @@

    Children:

  • - cc-given-name -
  • - -
  • - - cc-additional-name + cc-exp-MM
  • - cc-family-name + cc-exp-YYYY
  • @@ -1730,87 +4539,65 @@

    Children:

    Formatting:

    -cc-name = -cc-given-namecc-additional-namecc-family-name +cc-exp-MMYYYY = +cc-exp-MM/cc-exp-YYYY
    Flattened formatting:
    -cc-name =
    -cc-given-namecc-additional-namecc-family-name +cc-exp-MMYYYY =
    +cc-exp-MM/cc-exp-YYYY
    -

    - # +

    + # - cc-given-name + cc-exp-YYYY

    -Given name of credit card holder +Credit card expiration date in format YYYY (4 digits) -

    - # - - cc-additional-name -

    -
    -Additional name of credit card holder -

    - # - - cc-family-name -

    -
    -Family name of credit card holder -

    - # - - cc-number -

    -
    -Credit card number -

    - # + + + + + + + + + + + + +

    + # - cc-exp-MMYY + cc-csc

    -Credit card expiration date in format MM/YY +CSC/CVC/CVV number -
    -

    Children:

    - -
    @@ -1818,67 +4605,65 @@

    Children:

    -

    Formatting:

    -
    -cc-exp-MMYY = -cc-exp-MM/cc-exp-YY -
    -
    Flattened formatting:
    -
    -cc-exp-MMYY =
    -cc-exp-MM/cc-exp-YY -
    -

    - # - - cc-exp-MM -

    -
    -Credit card expiration month (2 digits) -

    - # + + + + + + + + +

    + # - cc-exp-YY + cc-type

    -Credit card expiration date in format YY (2 digits) +Credit card type + + + + + + + + + + + + + + + + + + + + + + + + -

    - # +

    + # - cc-exp-MMYYYY + tel

    -Credit card expiration date in format MM/YYYY - - - -
    -

    Children:

    - -
    @@ -1886,59 +4671,21 @@

    Children:

    -

    Formatting:

    -
    -cc-exp-MMYYYY = -cc-exp-MM/cc-exp-YYYY -
    -
    Flattened formatting:
    -
    -cc-exp-MMYYYY =
    -cc-exp-MM/cc-exp-YYYY -
    -

    - # - - cc-exp-YYYY -

    -
    -Credit card expiration date in format YYYY (4 digits) -

    - # - - cc-csc -

    -
    -CSC/CVC/CVV number -

    - # - - cc-type -

    -
    -Credit card type -

    - # - - tel -

    -
    -Full telephone number @@ -1993,6 +4740,30 @@
    Flattened formatting:
    + + + + + + + + + + + + + + + + + + + + + + + +

    # @@ -2005,6 +4776,30 @@

    Flattened formatting:
    + + + + + + + + + + + + + + + + + + + + + + + +

    Children:

    # @@ -2064,6 +4883,30 @@

    Flattened formatting:
    + + + + + + + + + + + + + + + + + + + + + + + +

    Children:

    # @@ -2123,6 +4990,30 @@

    Flattened formatting:
    + + + + + + + + + + + + + + + + + + + + + + + +

    # @@ -2134,6 +5025,30 @@

    Flattened formatting:
    + + + + + + + + + + + + + + + + + + + + + + + +

    # @@ -2145,6 +5060,30 @@

    Flattened formatting:
    + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/model/DE.html b/docs/model/DE.html index bba4d63..7978870 100644 --- a/docs/model/DE.html +++ b/docs/model/DE.html @@ -281,6 +281,15 @@ IT + + + + 🇯🇵 + + JP + @@ -774,11 +783,50 @@

    Overview of concepts

    + + + + +
    + + +
    +
    + + + postal-code-prefix + - Postal code prefix + + + + +
    + +
    + + + +
    +
    + + + postal-code-suffix + - Postal code suffix + + + +
    +
    + + + + +
    @@ -1390,6 +1438,10 @@

    Example addresses

    + + + + @@ -1493,6 +1545,10 @@

    Example addresses

    + + + + country
    DE
    @@ -1558,9 +1614,29 @@

    Example addresses

    Mozartstr. 9
     Obergeschoss 2 Wohnung 3
     67677 Enkenbach
    -Deutschland
    +DE +

    + Expected: +

    Mozartstr. 9
    +Obergeschoss 2 Wohnung 3
    +67677 Enkenbach
    +Deutschland
    +
    +

    +

    + Delta: +

    --- expected_output
    ++++ actual_output
    +@@ -1,4 +1,4 @@
    + Mozartstr. 9
    + Obergeschoss 2 Wohnung 3
    + 67677 Enkenbach
    +-Deutschland
    ++DE
    +

    + @@ -3698,13 +3774,13 @@

    Children:

    Formatting:

    address = -street-address-alternative-1postal-codelocality1country-name +street-address-alternative-1postal-codelocality1country
    Flattened formatting:
    address =
    -streetbuilding
    address-overflow
    postal-codelocality1
    country-name +streetbuilding
    address-overflow
    postal-code-prefix-postal-code-suffixlocality1
    country

    @@ -4969,6 +5045,261 @@

    Flattened formatting:
    + + + + + + + +

    Parsing:

    +
    + + + + +
    + Decomposition + + (ParsePostalCodeMandatorySeparatorExpression) + + + Anchor beginning: True
    + + Capture Reference: ParsePostalCodeMandatorySeparatorExpression
    + + + +
    + + + Capture postal-code + + (MATCH_REQUIRED) + + + + Parts:
    +
      + +
    • + + +
      + + + Capture postal-code-prefix + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + + +
        + Regex Reference: kZipPrefixValueRe + + + + + Regex Reference: kAlphaNumericSequenceRe => + (?:[^\W_]+) + + + + +
        + + + +
      • + +
      + + + +
      + + +
    • + +
    • + + + +Separator: Regex Reference kZipCodeSeparatorsRe => + (?:[\s-]+) + + + +
    • + +
    • + + +
      + + + Capture postal-code-suffix + + (MATCH_OPTIONAL) + + + + Parts:
      +
        + +
      • + + + +
        + Regex Reference: kZipSuffixValueRe + + + + + Regex Reference: kAlphaNumericSequenceRe => + (?:[^\W_]+) + + + + +
        + + + +
      • + +
      + + + +
      + + +
    • + +
    + + + +
    + + + + + Anchor end: True
    +
    + + + + +
    + +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +postal-code = +postal-code-prefix-postal-code-suffix +
    + +
    Flattened formatting:
    +
    +postal-code =
    +postal-code-prefix-postal-code-suffix +
    + +

    + # + + postal-code-prefix +

    +
    + +Postal code prefix + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + postal-code-suffix +

    +
    + +Postal code suffix + + + + + + + + + + + + + + + + + + + + diff --git a/docs/model/FR.html b/docs/model/FR.html index 68b5c69..1417d19 100644 --- a/docs/model/FR.html +++ b/docs/model/FR.html @@ -281,6 +281,15 @@ IT + + + + 🇯🇵 + + JP + @@ -688,12 +697,51 @@

    Overview of concepts

    +
    + + + +
    + + +
    +
    + + + postal-code-prefix + - Postal code prefix + + + +
    +
    +
    + + + postal-code-suffix + - Postal code suffix + + + + +
    + +
    + + +
    + + + + + +
    @@ -1292,6 +1340,10 @@

    Example addresses

    + + + + @@ -1399,6 +1451,10 @@

    Example addresses

    + + + + country
    FR
    @@ -1465,9 +1521,29 @@

    Example addresses

    Appartament 36 Quartier du Marais 59491 Villeneuve-d'ascq -France +FR +

    + Expected: +

    1661 Place Charles de Gaulle
    +Appartament 36
    +Quartier du Marais
    +59491 Villeneuve-d'ascq
    +France
    +

    +

    + Delta: +

    --- expected_output
    ++++ actual_output
    +@@ -2,4 +2,4 @@
    + Appartament 36
    + Quartier du Marais
    + 59491 Villeneuve-d'ascq
    +-France
    ++FR
    +

    + @@ -3465,13 +3541,13 @@

    Children:

    Formatting:

    address = -street-address-alternative-1locality2postal-codelocality1country-name +street-address-alternative-1locality2postal-codelocality1country
    Flattened formatting:
    address =
    -buildingstreet
    address-overflow
    locality2
    postal-codelocality1
    country-name +buildingstreet
    address-overflow
    locality2
    postal-code-prefix-postal-code-suffixlocality1
    country

    @@ -4561,6 +4637,261 @@

    Flattened formatting:
    + + + + + + + +

    Parsing:

    +
    + + + + +
    + Decomposition + + (ParsePostalCodeMandatorySeparatorExpression) + + + Anchor beginning: True
    + + Capture Reference: ParsePostalCodeMandatorySeparatorExpression
    + + + +
    + + + Capture postal-code + + (MATCH_REQUIRED) + + + + Parts:
    +
      + +
    • + + +
      + + + Capture postal-code-prefix + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + + +
        + Regex Reference: kZipPrefixValueRe + + + + + Regex Reference: kAlphaNumericSequenceRe => + (?:[^\W_]+) + + + + +
        + + + +
      • + +
      + + + +
      + + +
    • + +
    • + + + +Separator: Regex Reference kZipCodeSeparatorsRe => + (?:[\s-]+) + + + +
    • + +
    • + + +
      + + + Capture postal-code-suffix + + (MATCH_OPTIONAL) + + + + Parts:
      +
        + +
      • + + + +
        + Regex Reference: kZipSuffixValueRe + + + + + Regex Reference: kAlphaNumericSequenceRe => + (?:[^\W_]+) + + + + +
        + + + +
      • + +
      + + + +
      + + +
    • + +
    + + + +
    + + + + + Anchor end: True
    +
    + + + + +
    + +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +postal-code = +postal-code-prefix-postal-code-suffix +
    + +
    Flattened formatting:
    +
    +postal-code =
    +postal-code-prefix-postal-code-suffix +
    + +

    + # + + postal-code-prefix +

    +
    + +Postal code prefix + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + postal-code-suffix +

    +
    + +Postal code suffix + + + + + + + + + + + + + + + + + + + + diff --git a/docs/model/IN.html b/docs/model/IN.html index e36d133..7056566 100644 --- a/docs/model/IN.html +++ b/docs/model/IN.html @@ -281,6 +281,15 @@ IT + + + + 🇯🇵 + + JP + @@ -862,12 +871,51 @@

    Overview of concepts

    +
    + + + +
    + + +
    +
    + + + postal-code-prefix + - Postal code prefix + + + +
    +
    +
    + + + postal-code-suffix + - Postal code suffix + + + + +
    + +
    + + +
    + + + + + +
    @@ -1621,13 +1669,13 @@

    Children:

    Formatting:

    address = -building-locationlocality2landmarklocality1admin-area1postal-codecountry-name +building-locationlocality2landmarklocality1admin-area1postal-codecountry
    Flattened formatting:
    address =
    -building-location
    locality2
    landmark
    locality1
    admin-area1
    postal-code
    country-name +building-location
    locality2
    landmark
    locality1
    admin-area1
    postal-code-prefix-postal-code-suffix
    country

    @@ -1984,6 +2032,63 @@

    Flattened formatting:
    +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +postal-code = +postal-code-prefix-postal-code-suffix +
    + +
    Flattened formatting:
    +
    +postal-code =
    +postal-code-prefix-postal-code-suffix +
    + +

    + # + + postal-code-prefix +

    +
    + +Postal code prefix + + + +

    + # + + postal-code-suffix +

    +
    + +Postal code suffix + + +

    # diff --git a/docs/model/IT.html b/docs/model/IT.html index b23f610..4a6448b 100644 --- a/docs/model/IT.html +++ b/docs/model/IT.html @@ -281,6 +281,15 @@ IT + + + + 🇯🇵 + + JP + @@ -727,11 +736,50 @@

    Overview of concepts

    + + + + +
    + + +
    +
    + + + postal-code-prefix + - Postal code prefix + + + + +
    + +
    + + + +
    +
    + + + postal-code-suffix + - Postal code suffix + + + +
    +
    + + + + +
    @@ -1335,6 +1383,10 @@

    Example addresses

    + + + + @@ -1442,6 +1494,10 @@

    Example addresses

    + + + + country
    IT
    @@ -1506,9 +1562,27 @@

    Example addresses

    Output for "address":
    Via Roma 15, Appartamento 3
     20121 Milano MI
    -Italia
    +IT +

    + Expected: +

    Via Roma 15, Appartamento 3
    +20121 Milano MI
    +Italia
    +
    +

    +

    + Delta: +

    --- expected_output
    ++++ actual_output
    +@@ -1,3 +1,3 @@
    + Via Roma 15, Appartamento 3
    + 20121 Milano MI
    +-Italia
    ++IT
    +

    + @@ -3646,13 +3720,13 @@

    Children:

    Formatting:

    address = -street-address-alternative-1postal-codelocality1admin-area1country-name +street-address-alternative-1postal-codelocality1admin-area1country
    Flattened formatting:
    address =
    -streetbuilding,␣address-overflow
    postal-codelocality1admin-area1
    country-name +streetbuilding,␣address-overflow
    postal-code-prefix-postal-code-suffixlocality1admin-area1
    country

    @@ -4784,6 +4858,261 @@

    Flattened formatting:
    + + + + + + + +

    Parsing:

    +
    + + + + +
    + Decomposition + + (ParsePostalCodeMandatorySeparatorExpression) + + + Anchor beginning: True
    + + Capture Reference: ParsePostalCodeMandatorySeparatorExpression
    + + + +
    + + + Capture postal-code + + (MATCH_REQUIRED) + + + + Parts:
    +
      + +
    • + + +
      + + + Capture postal-code-prefix + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + + +
        + Regex Reference: kZipPrefixValueRe + + + + + Regex Reference: kAlphaNumericSequenceRe => + (?:[^\W_]+) + + + + +
        + + + +
      • + +
      + + + +
      + + +
    • + +
    • + + + +Separator: Regex Reference kZipCodeSeparatorsRe => + (?:[\s-]+) + + + +
    • + +
    • + + +
      + + + Capture postal-code-suffix + + (MATCH_OPTIONAL) + + + + Parts:
      +
        + +
      • + + + +
        + Regex Reference: kZipSuffixValueRe + + + + + Regex Reference: kAlphaNumericSequenceRe => + (?:[^\W_]+) + + + + +
        + + + +
      • + +
      + + + +
      + + +
    • + +
    + + + +
    + + + + + Anchor end: True
    +
    + + + + +
    + +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +postal-code = +postal-code-prefix-postal-code-suffix +
    + +
    Flattened formatting:
    +
    +postal-code =
    +postal-code-prefix-postal-code-suffix +
    + +

    + # + + postal-code-prefix +

    +
    + +Postal code prefix + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + postal-code-suffix +

    +
    + +Postal code suffix + + + + + + + + + + + + + + + + + + + + diff --git a/docs/model/JP.html b/docs/model/JP.html new file mode 100644 index 0000000..bbb5719 --- /dev/null +++ b/docs/model/JP.html @@ -0,0 +1,360 @@ + + + + + + + + + Prototype for autofill attribute + + + + + + + + + + + + + + + + + + + +
    +
    +
    + Country: JP +
    +
    + +
    +
    + + + + +
    +
    +

    Overview of concepts

    +
    +
    + +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/docs/model/MX.html b/docs/model/MX.html index ff386c7..ebbcf70 100644 --- a/docs/model/MX.html +++ b/docs/model/MX.html @@ -281,6 +281,15 @@ IT + + + + 🇯🇵 + + JP + @@ -1005,12 +1014,51 @@

    Overview of concepts

    +
    + + + +
    + + +
    +
    + + + postal-code-prefix + - Postal code prefix + + + +
    +
    +
    + + + postal-code-suffix + - Postal code suffix + + + + +
    + +
    + + +
    + + + + + +
    @@ -1607,6 +1655,10 @@

    Example addresses

    + + + + @@ -1761,6 +1813,10 @@

    Example addresses

    + + + + country
    MX
    @@ -1824,8 +1880,30 @@

    Example addresses

    Cerca del Parque España Roma Nte. 06140 Ciudad de México, CDMX -Mexico +MX + +

    + Expected: +

    Avenida Álvaro Obregón 1234, Piso 10, Apartamento 5A
    +Entre Calles Tonalá y Monterrey
    +Cerca del Parque España
    +Roma Nte.
    +06140 Ciudad de México, CDMX
    +Mexico
    +
    +

    +

    + Delta: +

    --- expected_output
    ++++ actual_output
    +@@ -3,4 +3,4 @@
    + Cerca del Parque España
    + Roma Nte.
    + 06140 Ciudad de México, CDMX
    +-Mexico
    ++MX
    +

    @@ -3934,13 +4012,13 @@

    Children:

    Formatting:

    address = -street-address-alternative-1locality2admin-area2postal-codelocality1,␣admin-area1country-name +street-address-alternative-1locality2admin-area2postal-codelocality1,␣admin-area1country
    Flattened formatting:
    address =
    -streetbuilding,␣Piso floor,␣unit-typeunit-name
    Entre Calles cross-street1␣y␣cross-street2
    landmark
    locality2
    admin-area2
    postal-codelocality1,␣admin-area1
    country-name +streetbuilding,␣Piso floor,␣unit-typeunit-name
    Entre Calles cross-street1␣y␣cross-street2
    landmark
    locality2
    admin-area2
    postal-code-prefix-postal-code-suffixlocality1,␣admin-area1
    country

    @@ -7094,6 +7172,261 @@

    Flattened formatting:
    + + + + + + + +

    Parsing:

    +
    + + + + +
    + Decomposition + + (ParsePostalCodeMandatorySeparatorExpression) + + + Anchor beginning: True
    + + Capture Reference: ParsePostalCodeMandatorySeparatorExpression
    + + + +
    + + + Capture postal-code + + (MATCH_REQUIRED) + + + + Parts:
    +
      + +
    • + + +
      + + + Capture postal-code-prefix + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + + +
        + Regex Reference: kZipPrefixValueRe + + + + + Regex Reference: kAlphaNumericSequenceRe => + (?:[^\W_]+) + + + + +
        + + + +
      • + +
      + + + +
      + + +
    • + +
    • + + + +Separator: Regex Reference kZipCodeSeparatorsRe => + (?:[\s-]+) + + + +
    • + +
    • + + +
      + + + Capture postal-code-suffix + + (MATCH_OPTIONAL) + + + + Parts:
      +
        + +
      • + + + +
        + Regex Reference: kZipSuffixValueRe + + + + + Regex Reference: kAlphaNumericSequenceRe => + (?:[^\W_]+) + + + + +
        + + + +
      • + +
      + + + +
      + + +
    • + +
    + + + +
    + + + + + Anchor end: True
    +
    + + + + +
    + +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +postal-code = +postal-code-prefix-postal-code-suffix +
    + +
    Flattened formatting:
    +
    +postal-code =
    +postal-code-prefix-postal-code-suffix +
    + +

    + # + + postal-code-prefix +

    +
    + +Postal code prefix + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + postal-code-suffix +

    +
    + +Postal code suffix + + + + + + + + + + + + + + + + + + + + diff --git a/docs/model/NL.html b/docs/model/NL.html index 1fd30a7..31250a3 100644 --- a/docs/model/NL.html +++ b/docs/model/NL.html @@ -281,6 +281,15 @@ IT + + + + 🇯🇵 + + JP + @@ -866,6 +875,45 @@

    Overview of concepts

    + + +
    + + +
    +
    + + + postal-code-prefix + - Postal code prefix + + + + +
    + +
    + + + +
    +
    + + + postal-code-suffix + - Postal code suffix + + + + +
    + +
    + + +
    + + @@ -1490,6 +1538,10 @@

    Example addresses

    + + + + @@ -1597,8 +1649,16 @@

    Example addresses

    + + - postal-code
    1234 AB
    + postal-code-prefix
    1234
    + + + + + + postal-code-suffix
    AB
    @@ -1667,9 +1727,27 @@

    Example addresses

    Output for "address":
    Kerkstraat 10-A
     1234 AB Amsterdam
    -Netherlands
    +NL +

    + Expected: +

    Kerkstraat 10-A
    +1234 AB Amsterdam
    +Netherlands
    +
    +

    +

    + Delta: +

    --- expected_output
    ++++ actual_output
    +@@ -1,3 +1,3 @@
    + Kerkstraat 10-A
    + 1234 AB Amsterdam
    +-Netherlands
    ++NL
    +

    + @@ -1760,8 +1838,16 @@

    Example addresses

    + + - postal-code
    1234 AB
    + postal-code-prefix
    1234
    + + + + + + postal-code-suffix
    AB
    @@ -1830,9 +1916,27 @@

    Example addresses

    Output for "address":
    Kerkstraat 10
     1234 AB Amsterdam
    -Netherlands
    +NL +

    + Expected: +

    Kerkstraat 10
    +1234 AB Amsterdam
    +Netherlands
    +
    +

    +

    + Delta: +

    --- expected_output
    ++++ actual_output
    +@@ -1,3 +1,3 @@
    + Kerkstraat 10
    + 1234 AB Amsterdam
    +-Netherlands
    ++NL
    +

    + @@ -3970,13 +4074,13 @@

    Children:

    Formatting:

    address = -street-address-alternative-1postal-codelocality1country-name +street-address-alternative-1postal-codelocality1country
    Flattened formatting:
    address =
    -streetbuilding-unit-typeunit-name
    postal-codelocality1
    country-name +streetbuilding-unit-typeunit-name
    postal-code-prefixpostal-code-suffixlocality1
    country

    @@ -5189,6 +5293,263 @@

    Flattened formatting:
    + + + + + + + +

    Parsing:

    +
    + + + + +
    + Decomposition + + (ParsePostalCodeOptionalSeparatorExpression) + + + Anchor beginning: True
    + + Capture Reference: ParsePostalCodeOptionalSeparatorExpression
    + + + +
    + + + Capture postal-code + + (MATCH_REQUIRED) + + + + Parts:
    +
      + +
    • + + +
      + + + Capture postal-code-prefix + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + + + Regex Reference: kZipPrefixValueRe => + (?:[1-9]\d{3}) + + + +
      • + +
      + + + +
      + + +
    • + +
    • + + +
      + + + No capturing pattern + + (MATCH_OPTIONAL) + + + + Parts:
      +
        + +
      • + + + +Separator: Regex Reference kZipCodeSeparatorsRe => + (?:[\s-]+) + + + +
      • + +
      + + + +
      + + +
    • + +
    • + + +
      + + + Capture postal-code-suffix + + (MATCH_OPTIONAL) + + + + Parts:
      +
        + +
      • + + + + Regex Reference: kZipSuffixValueRe => + (?:[A-Z]{2}) + + + +
      • + +
      + + + +
      + + +
    • + +
    + + + +
    + + + + + Anchor end: True
    +
    + + + + +
    + +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +postal-code = +postal-code-prefixpostal-code-suffix +
    + +
    Flattened formatting:
    +
    +postal-code =
    +postal-code-prefixpostal-code-suffix +
    + +

    + # + + postal-code-prefix +

    +
    + +Postal code prefix + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + postal-code-suffix +

    +
    + +Postal code suffix + + + + + + + + + + + + + + + + + + + + diff --git a/docs/model/PL.html b/docs/model/PL.html index d58472f..78bac12 100644 --- a/docs/model/PL.html +++ b/docs/model/PL.html @@ -281,6 +281,15 @@ IT + + + + 🇯🇵 + + JP + @@ -797,12 +806,51 @@

    Overview of concepts

    +
    + + + +
    + + +
    +
    + + + postal-code-prefix + - Postal code prefix + + + +
    +
    +
    + + + postal-code-suffix + - Postal code suffix + + + + +
    + +
    + + +
    + + + + + +
    @@ -1413,6 +1461,10 @@

    Example addresses

    + + + + @@ -1520,6 +1572,10 @@

    Example addresses

    + + + + country
    PL
    @@ -1584,9 +1640,27 @@

    Example addresses

    Output for "address":
    ul. Warsaw 9/10
     01-001 Warsaw
    -Polska
    +PL +

    + Expected: +

    ul. Warsaw 9/10
    +01-001 Warsaw
    +Polska
    +
    +

    +

    + Delta: +

    --- expected_output
    ++++ actual_output
    +@@ -1,3 +1,3 @@
    + ul. Warsaw 9/10
    + 01-001 Warsaw
    +-Polska
    ++PL
    +

    + @@ -1677,6 +1751,10 @@

    Example addresses

    + + + + country
    PL
    @@ -1741,9 +1819,27 @@

    Example addresses

    Output for "address":
    ul. Warsaw 9
     01-001 Warsaw
    -Polska
    +PL +

    + Expected: +

    ul. Warsaw 9
    +01-001 Warsaw
    +Polska
    +
    +

    +

    + Delta: +

    --- expected_output
    ++++ actual_output
    +@@ -1,3 +1,3 @@
    + ul. Warsaw 9
    + 01-001 Warsaw
    +-Polska
    ++PL
    +

    + @@ -3736,13 +3832,13 @@

    Children:

    Formatting:

    address = -street-address-alternative-1postal-codelocality1country-name +street-address-alternative-1postal-codelocality1country
    Flattened formatting:
    address =
    -streetbuilding/unit-typeunit-name
    postal-codelocality1
    country-name +streetbuilding/unit-typeunit-name
    postal-code-prefix-postal-code-suffixlocality1
    country

    @@ -5579,6 +5675,263 @@

    Flattened formatting:
    + + + + + + + +

    Parsing:

    +
    + + + + +
    + Decomposition + + (ParsePostalCodeOptionalSeparatorExpression) + + + Anchor beginning: True
    + + Capture Reference: ParsePostalCodeOptionalSeparatorExpression
    + + + +
    + + + Capture postal-code + + (MATCH_REQUIRED) + + + + Parts:
    +
      + +
    • + + +
      + + + Capture postal-code-prefix + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + + + Regex Reference: kZipPrefixValueRe => + (?:\d{2}) + + + +
      • + +
      + + + +
      + + +
    • + +
    • + + +
      + + + No capturing pattern + + (MATCH_OPTIONAL) + + + + Parts:
      +
        + +
      • + + + +Separator: Regex Reference kZipCodeSeparatorsRe => + (?:[\s-]+) + + + +
      • + +
      + + + +
      + + +
    • + +
    • + + +
      + + + Capture postal-code-suffix + + (MATCH_OPTIONAL) + + + + Parts:
      +
        + +
      • + + + + Regex Reference: kZipSuffixValueRe => + (?:\d{3}) + + + +
      • + +
      + + + +
      + + +
    • + +
    + + + +
    + + + + + Anchor end: True
    +
    + + + + +
    + +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +postal-code = +postal-code-prefix-postal-code-suffix +
    + +
    Flattened formatting:
    +
    +postal-code =
    +postal-code-prefix-postal-code-suffix +
    + +

    + # + + postal-code-prefix +

    +
    + +Postal code prefix + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + postal-code-suffix +

    +
    + +Postal code suffix + + + + + + + + + + + + + + + + + + + + diff --git a/docs/model/US.html b/docs/model/US.html index eb61784..05d064b 100644 --- a/docs/model/US.html +++ b/docs/model/US.html @@ -281,6 +281,15 @@ IT + + + + 🇯🇵 + + JP + @@ -562,6 +571,45 @@

    Overview of concepts

    + + +
    + + +
    +
    + + + postal-code-prefix + - Postal code prefix + + + + +
    + +
    + + + +
    +
    + + + postal-code-suffix + - Postal code suffix + + + + +
    + +
    + + +
    + + @@ -1154,6 +1202,10 @@

    Example addresses

    + + + + @@ -1234,8 +1286,16 @@

    Example addresses

    + + + + postal-code-prefix
    11367
    + + + + - postal-code
    11367
    + postal-code-suffix
    4100
    @@ -1304,10 +1364,30 @@

    Example addresses

    Output for "address":
    1234 Main St.
     Apt. 10, Club of Autofillers
    -New York City, NY 11367
    -USA
    +New York City, NY 11367-4100 +US +

    + Expected: +

    1234 Main St.
    +Apt. 10, Club of Autofillers
    +New York City, NY 11367-4100
    +USA
    +
    +

    +

    + Delta: +

    --- expected_output
    ++++ actual_output
    +@@ -1,4 +1,4 @@
    + 1234 Main St.
    + Apt. 10, Club of Autofillers
    + New York City, NY 11367-4100
    +-USA
    ++US
    +

    + @@ -1336,27 +1416,10 @@

    -
    -

    Children:

    - -
    @@ -1364,339 +1427,3069 @@

    Children:

    -

    Formatting:

    -
    -name = -given-nameadditional-namefamily-name -
    -
    Flattened formatting:
    -
    -name =
    -given-nameadditional-namefamily-name -
    -

    - # - - given-name -

    -
    -First name -

    - # - - additional-name -

    -
    -Middle name (middle initial in case of max-length=1) -

    - # - - family-name -

    -
    -Last name +

    Parsing:

    +
    -

    - # + + + +
    + Decomposition Cascade - address -

    -
    + + + Cascade:
    +
      + +
    1. -Address of a physical location - Artificial concept, not to be used in HTML +
      + Decomposition Cascade + + (if kHasCjkNameCharacteristics) + + + + Condition:
      + -
      -

      Children:

      - -
      + Regex Reference: kCjkCharactersRe => + (?:(?:\p{Han}|\p{Hangul}|\p{Katakana}|\p{Hiragana}|\p{Bopomofo})+) +
    2. + +
    3. -

      Formatting:

      -
      -address = -street-addresslocality1,␣admin-area1postal-codecountry-name -
      +Regex Fragment: (?: -
      Flattened formatting:
      -
      -address =
      -address-line1
      address-line2
      address-line3
      address-line4
      locality1,␣admin-area1postal-code
      country-name -
      -

    - # - - street-address -

    -
    + + +
  • -Street address (house number, street name, apartment) + Regex Reference: kCjkNameSeperatorsRe => + (?:・|·| |\s+) -
    -

    Children:

    - -
    +Regex Fragment: )?$ +
  • + + + Wrap as non-capture group: True + -

    Formatting:

    -
    -street-address = -address-line1address-line2address-line3address-line4 -
    -
    Flattened formatting:
    -
    -street-address =
    -address-line1
    address-line2
    address-line3
    address-line4 -
    -

    - # +
    - address-line1 -

    -
    + Cascade:
    +
      + +
    1. -1st line of street-address +
      + Decomposition + + (ParseSeparatedCjkNameExpression) + + + Anchor beginning: True
      + + Capture Reference: ParseSeparatedCjkNameExpression
      + -

    - # - - address-line2 -

    -
    +
    + + + Capture name + + (MATCH_REQUIRED) + + + + Parts:
    +
      + +
    • -2nd line of street-address +
      + + + Capture family-name + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • -

    - # - - address-line3 -

    -
    -3rd line of street-address + Regex Reference: kCjkCharactersRe => + (?:(?:\p{Han}|\p{Hangul}|\p{Katakana}|\p{Hiragana}|\p{Bopomofo})+) -

    - # - - address-line4 -

    -
    + + + + + + + -4th line of street-address + + +
  • -
  • - # - - locality1 -

    -
    -City +Separator: Regex Reference kCjkNameSeperatorsRe => + (?:・|·| |\s+) -

    - # - + + +
  • + + +
    + + + Capture given-name + + (MATCH_REQUIRED) + + + + Parts:
    +
      + +
    • + + + + Regex Reference: kCjkCharactersRe => + (?:(?:\p{Han}|\p{Hangul}|\p{Katakana}|\p{Hiragana}|\p{Bopomofo})+) + + + +
    • + +
    + + + +
    + + +
  • + + + + + + + + + + + Anchor end: True
    + + + + + +
  • + + +
    + Decomposition + + (ParseKoreanTwoCharacterLastNameExpression) + + + Anchor beginning: True
    + + Capture Reference: ParseKoreanTwoCharacterLastNameExpression
    + + + +
    + + + Capture name + + (MATCH_REQUIRED) + + + + Parts:
    +
      + +
    • + + +
      + + + Capture family-name + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + + + Regex Reference: kTwoCharacterKoreanNamesRe => + (?:강전|남궁|독고|동방|망절|사공|서문|선우|소봉|어금|장곡|제갈|황목|황보) + + + +
      • + +
      + + + +
      + + +
    • + +
    • + + +
      + + + Capture given-name + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + + + Regex Reference: kHangulCharacterRe => + \p{Hangul} + + + +
      • + +
      • + + + + Regex Reference: kHangulCharactersRe => + \p{Hangul}+ + + + +
      • + +
      + + + +
      + + +
    • + +
    + + + +
    + + + + + Anchor end: True
    +
    + + +
  • + +
  • + + +
    + Decomposition + + (ParseCommonCjkTwoCharacterLastNameExpression) + + + Anchor beginning: True
    + + Capture Reference: ParseCommonCjkTwoCharacterLastNameExpression
    + + + +
    + + + Capture name + + (MATCH_REQUIRED) + + + + Parts:
    +
      + +
    • + + +
      + + + Capture family-name + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + + + Regex Reference: kTwoCharacterCjkLastNamesRe => + (?:남궁|사공|서문|선우|제갈|황보|독고|망절|欧阳|令狐|皇甫|上官|司徒|诸葛|司马|宇文|呼延|端木|張簡|歐陽|諸葛|申屠|尉遲|司馬|軒轅|夏侯) + + + +
      • + +
      + + + +
      + + +
    • + +
    • + + +
      + + + Capture given-name + + (MATCH_OPTIONAL) + + + + Parts:
      +
        + +
      • + + + + Regex Reference: kCjkCharactersRe => + (?:(?:\p{Han}|\p{Hangul}|\p{Katakana}|\p{Hiragana}|\p{Bopomofo})+) + + + +
      • + +
      + + + +
      + + +
    • + +
    + + + +
    + + + + + Anchor end: True
    +
    + + +
  • + +
  • + + +
    + Decomposition + + (ParseCjkSingleCharacterLastNameExpression) + + + Anchor beginning: True
    + + Capture Reference: ParseCjkSingleCharacterLastNameExpression
    + + + +
    + + + Capture name + + (MATCH_REQUIRED) + + + + Parts:
    +
      + +
    • + + +
      + + + Capture family-name + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + + + Regex Reference: kCjkCharacterRe => + (?:\p{Han}|\p{Hangul}|\p{Katakana}|\p{Hiragana}|\p{Bopomofo}) + + + +
      • + +
      + + + +
      + + +
    • + +
    • + + +
      + + + Capture given-name + + (MATCH_OPTIONAL) + + + + Parts:
      +
        + +
      • + + + + Regex Reference: kCjkCharactersRe => + (?:(?:\p{Han}|\p{Hangul}|\p{Katakana}|\p{Hiragana}|\p{Bopomofo})+) + + + +
      • + +
      + + + +
      + + +
    • + +
    + + + +
    + + + + + Anchor end: True
    +
    + + +
  • + + + + + + + +
  • + + +
    + Decomposition Cascade + + (if kHasHispanicLatinxNameCharacteristics) + + + + Condition:
    + + + + +
    + Regex Reference: kHasHispanicLatinxNameCharacteristics + + + + Regex concatenation +
      + +
    1. + + +Regex Fragment: (?: + + +
    2. + +
    3. + + + + Regex Reference: kHispanicCommonLastNameCharacteristicsRe => + (?:Aguilar|Alonso|Álvarez|Amador|Betancourt|Blanco|Burgos|Castillo|Castro|Chávez|Colón|Contreras|Cortez|Cruz|Delgado|Diaz|Díaz|Domínguez|Estrada|Fernandez|Fernández|Flores|Fuentes|Garcia|García|Garza|Gil|Gómez|González|Guerrero|Gutiérrez|Guzmán|Hernández|Herrera|Iglesias|Jiménez|Juárez|Lopez|López|Luna|Marín|Marroquín|Martín|Martinez|Martínez|Medina|Méndez|Mendoza|Molina|Morales|Moreno|Muñoz|Narvaez|Navarro|Núñez|Ortega|Ortiz|Ortíz|Peña|Perez|Pérez|Ramírez|Ramos|Reyes|Rivera|Rodriguez|Rodríguez|Rojas|Romero|Rosario|Rubio|Ruiz|Ruíz|Salazar|Sanchez|Sánchez|Santana|Santiago|Santos|Sanz|Serrano|Soto|Suárez|Toro|Torres|Vargas|Vasquez|Vásquez|Vázquez|Velásquez) + + + +
    4. + +
    5. + + +Regex Fragment: | + + +
    6. + +
    7. + + + + Regex Reference: kHispanicLastNameConjunctionCharacteristicsRe => + \s(?:y|e|i)\s + + + +
    8. + +
    9. + + +Regex Fragment: ) + + +
    10. + +
    + Wrap as non-capture group: True + + + +
    + + + +
    + + Cascade:
    +
      + +
    1. + + +
      + Decomposition + + (ParseHispanicFullNameExpression) + + + Anchor beginning: True
      + + Capture Reference: ParseHispanicFullNameExpression
      + + + +
      + + + Capture name + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + +
        + + + No capturing pattern + + (MATCH_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kHonorificPrefixRe => + (?:Master|Mr\.?|Miss\.?|Mrs\.?|Missus|Ms\.?|Mx\.?|M\.?|Ma'am|Sir|Gentleman|Sire|Mistress|Madam|Ma'am|Dame|Lord|Lady|Esq|Excellency|Excellence|Her Honour|His Honour|Hon\.?|The Right Honourable|The Most Honourable|Dr\.?|PhD|DPhil|MD|DO|Prof\.|Professor|QC|CL|Chancellor|Vice-Chancellor|Principle|Principal|President|Master|Warden|Dean|Regent|Rector|Provost|Director|Chief Executive|Imām|Shaykh|Muftī|Hāfiz|Hāfizah|Qārī|Mawlānā|Hājī|Sayyid|Sayyidah|Sharif|Eminent|Venerable|His Holiness|His Holiness|His All Holiness|His Beatitude|The Most Blessed|His Excellency|His Most Eminent Highness|His Eminence|Most Reverend Eminence|The Most Reverend|His Grace|His Lordship|The Reverend|Fr|Pr|Br|Sr|Elder|Rabbi|The Reverend|Cantor|Chief Rabbi|Grand Rabbi|Rebbetzin|Herr|Frau|Fräulein|Dame|PD|Doktor|Magister|Ingenieur|1lt|1st|2lt|2nd|3rd|admiral|capt|captain|col|cpt|dr|gen|general|lcdr|lt|ltc|ltg|ltjg|maj|major|mg|pastor|prof|rep|reverend|rev|sen|st) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
      • + +
      • + + +
        + + + Capture given-name + + (MATCH_LAZY_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kMultipleLazyWordsRe => + (?:[^\s,]+(?:[^\S\r\n]+[^\s,]+)*?) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
      • + +
      • + + +
        + Capture Reference: ParseHispanicLastNameExpression + + + + +
        + + + Capture family-name + + (MATCH_REQUIRED) + + + + Parts:
        +
          + +
        • + + +
          + + + No capturing pattern + + (MATCH_REQUIRED) + + + + Parts:
          +
            + +
          • + + + + Regex Reference: kOptionalLastNamePrefixRe => + (?:(?:a|ab|af|av|ap|abu|aït|al|ālam|aust|austre|bar|bath|bat|ben|bin|ibn|bet|bint|binti|binte|da|das|de|degli|dele|del|du|della|der|di|dos|du|e|el|fetch|vetch|fitz|i??|kil|gil|de le|de la|la|le|lille|lu|m|mac|mc|mck|mhic|mic|mala|mellom|myljom|na|ned|nedre|neder|nic|ni|nin|nord|norr|ny|o|ua|ui|opp|upp|öfver|ost|öst|öster|øst|øst|østre|över|øvste|øvre|øver|öz|pour|putra|putri|setia|tor|söder|sør|sønder|sør|syd|søndre|syndre|søre|ter|ter|tre|van|van der|väst|väster|verch|erch|vest|vestre|vesle|vetle|von|zu|von und zu)\s)? + + + +
          • + +
          • + + + + Regex Reference: kSingleWordRe => + (?:[^\s,]+) + + + +
          • + +
          + + + +
          + + +
        • + +
        • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
        • + +
        • + + +
          + + + No capturing pattern + + (MATCH_OPTIONAL) + + + + Parts:
          +
            + +
          • + + + + Regex Reference: kHispanicLastNameConjunctionsRe => + (?:y|e|i) + + + +
          • + +
          + + + +
          + + +
        • + +
        • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
        • + +
        • + + +
          + + + No capturing pattern + + (MATCH_REQUIRED) + + + + Parts:
          +
            + +
          • + + + + Regex Reference: kOptionalLastNamePrefixRe => + (?:(?:a|ab|af|av|ap|abu|aït|al|ālam|aust|austre|bar|bath|bat|ben|bin|ibn|bet|bint|binti|binte|da|das|de|degli|dele|del|du|della|der|di|dos|du|e|el|fetch|vetch|fitz|i??|kil|gil|de le|de la|la|le|lille|lu|m|mac|mc|mck|mhic|mic|mala|mellom|myljom|na|ned|nedre|neder|nic|ni|nin|nord|norr|ny|o|ua|ui|opp|upp|öfver|ost|öst|öster|øst|øst|østre|över|øvste|øvre|øver|öz|pour|putra|putri|setia|tor|söder|sør|sønder|sør|syd|søndre|syndre|søre|ter|ter|tre|van|van der|väst|väster|verch|erch|vest|vestre|vesle|vetle|von|zu|von und zu)\s)? + + + +
          • + +
          • + + + + Regex Reference: kSingleWordRe => + (?:[^\s,]+) + + + +
          • + +
          + + + +
          + + +
        • + +
        + + + +
        + + + + +
        + + +
      • + +
      + + + +
      + + + + + Anchor end: True
      +
      + + +
    2. + +
    +
    + + +
  • + +
  • + + +
    + Decomposition Cascade + + + + Cascade:
    +
      + +
    1. + + +
      + Decomposition + + (ParseOnlyLastNameExpression) + + + Anchor beginning: True
      + + Capture Reference: ParseOnlyLastNameExpression
      + + + +
      + + + Capture name + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + +
        + + + Capture family-name + + (MATCH_REQUIRED) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kOptionalLastNamePrefixRe => + (?:(?:a|ab|af|av|ap|abu|aït|al|ālam|aust|austre|bar|bath|bat|ben|bin|ibn|bet|bint|binti|binte|da|das|de|degli|dele|del|du|della|der|di|dos|du|e|el|fetch|vetch|fitz|i??|kil|gil|de le|de la|la|le|lille|lu|m|mac|mc|mck|mhic|mic|mala|mellom|myljom|na|ned|nedre|neder|nic|ni|nin|nord|norr|ny|o|ua|ui|opp|upp|öfver|ost|öst|öster|øst|øst|østre|över|øvste|øvre|øver|öz|pour|putra|putri|setia|tor|söder|sør|sønder|sør|syd|søndre|syndre|søre|ter|ter|tre|van|van der|väst|väster|verch|erch|vest|vestre|vesle|vetle|von|zu|von und zu)\s)? + + + +
        • + +
        • + + + + Regex Reference: kSingleWordRe => + (?:[^\s,]+) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
      • + +
      • + + +
        + + + No capturing pattern + + (MATCH_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kLastNameSuffixRe => + (?:(?:b\.a|ba|d\.d\.s|dds|ii|iii|iv|ix|jr|m\.a|m\.d|md|ms|ph\.?d|sr|v|vi|vii|viii|x)\.?) + + + +
        • + +
        + + + +
        + + +
      • + +
      + + + +
      + + + + + Anchor end: True
      +
      + + +
    2. + +
    3. + + +
      + Decomposition + + (ParseLastCommaFirstMiddleNameExpression) + + + Anchor beginning: True
      + + Capture Reference: ParseLastCommaFirstMiddleNameExpression
      + + + +
      + + + Capture name + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + +
        + + + No capturing pattern + + (MATCH_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kHonorificPrefixRe => + (?:Master|Mr\.?|Miss\.?|Mrs\.?|Missus|Ms\.?|Mx\.?|M\.?|Ma'am|Sir|Gentleman|Sire|Mistress|Madam|Ma'am|Dame|Lord|Lady|Esq|Excellency|Excellence|Her Honour|His Honour|Hon\.?|The Right Honourable|The Most Honourable|Dr\.?|PhD|DPhil|MD|DO|Prof\.|Professor|QC|CL|Chancellor|Vice-Chancellor|Principle|Principal|President|Master|Warden|Dean|Regent|Rector|Provost|Director|Chief Executive|Imām|Shaykh|Muftī|Hāfiz|Hāfizah|Qārī|Mawlānā|Hājī|Sayyid|Sayyidah|Sharif|Eminent|Venerable|His Holiness|His Holiness|His All Holiness|His Beatitude|The Most Blessed|His Excellency|His Most Eminent Highness|His Eminence|Most Reverend Eminence|The Most Reverend|His Grace|His Lordship|The Reverend|Fr|Pr|Br|Sr|Elder|Rabbi|The Reverend|Cantor|Chief Rabbi|Grand Rabbi|Rebbetzin|Herr|Frau|Fräulein|Dame|PD|Doktor|Magister|Ingenieur|1lt|1st|2lt|2nd|3rd|admiral|capt|captain|col|cpt|dr|gen|general|lcdr|lt|ltc|ltg|ltjg|maj|major|mg|pastor|prof|rep|reverend|rev|sen|st) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
      • + +
      • + + +
        + + + Capture family-name + + (MATCH_REQUIRED) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kOptionalLastNamePrefixRe => + (?:(?:a|ab|af|av|ap|abu|aït|al|ālam|aust|austre|bar|bath|bat|ben|bin|ibn|bet|bint|binti|binte|da|das|de|degli|dele|del|du|della|der|di|dos|du|e|el|fetch|vetch|fitz|i??|kil|gil|de le|de la|la|le|lille|lu|m|mac|mc|mck|mhic|mic|mala|mellom|myljom|na|ned|nedre|neder|nic|ni|nin|nord|norr|ny|o|ua|ui|opp|upp|öfver|ost|öst|öster|øst|øst|østre|över|øvste|øvre|øver|öz|pour|putra|putri|setia|tor|söder|sør|sønder|sør|syd|søndre|syndre|søre|ter|ter|tre|van|van der|väst|väster|verch|erch|vest|vestre|vesle|vetle|von|zu|von und zu)\s)? + + + +
        • + +
        • + + + + Regex Reference: kSingleWordRe => + (?:[^\s,]+) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + +
        + + + No capturing pattern + + (MATCH_REQUIRED) + + + + Parts:
        +
          + +
        • + + +Regex Fragment: \s*,\s* + + +
        • + +
        + + + +
        + + +
      • + +
      • + + +
        + + + Capture given-name + + (MATCH_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kSingleWordRe => + (?:[^\s,]+) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
      • + +
      • + + +
        + + + Capture additional-name + + (MATCH_LAZY_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kMultipleLazyWordsRe => + (?:[^\s,]+(?:[^\S\r\n]+[^\s,]+)*?) + + + +
        • + +
        + + + +
        + + +
      • + +
      + + + +
      + + + + + Anchor end: True
      +
      + + +
    4. + +
    5. + + +
      + Decomposition + + (ParseFirstMiddleLastNameExpression) + + + Anchor beginning: True
      + + Capture Reference: ParseFirstMiddleLastNameExpression
      + + + +
      + + + Capture name + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + +
        + + + No capturing pattern + + (MATCH_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kHonorificPrefixRe => + (?:Master|Mr\.?|Miss\.?|Mrs\.?|Missus|Ms\.?|Mx\.?|M\.?|Ma'am|Sir|Gentleman|Sire|Mistress|Madam|Ma'am|Dame|Lord|Lady|Esq|Excellency|Excellence|Her Honour|His Honour|Hon\.?|The Right Honourable|The Most Honourable|Dr\.?|PhD|DPhil|MD|DO|Prof\.|Professor|QC|CL|Chancellor|Vice-Chancellor|Principle|Principal|President|Master|Warden|Dean|Regent|Rector|Provost|Director|Chief Executive|Imām|Shaykh|Muftī|Hāfiz|Hāfizah|Qārī|Mawlānā|Hājī|Sayyid|Sayyidah|Sharif|Eminent|Venerable|His Holiness|His Holiness|His All Holiness|His Beatitude|The Most Blessed|His Excellency|His Most Eminent Highness|His Eminence|Most Reverend Eminence|The Most Reverend|His Grace|His Lordship|The Reverend|Fr|Pr|Br|Sr|Elder|Rabbi|The Reverend|Cantor|Chief Rabbi|Grand Rabbi|Rebbetzin|Herr|Frau|Fräulein|Dame|PD|Doktor|Magister|Ingenieur|1lt|1st|2lt|2nd|3rd|admiral|capt|captain|col|cpt|dr|gen|general|lcdr|lt|ltc|ltg|ltjg|maj|major|mg|pastor|prof|rep|reverend|rev|sen|st) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
      • + +
      • + + +
        + + + Capture given-name + + (MATCH_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kSingleWordRe => + (?:[^\s,]+) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
      • + +
      • + + +
        + + + Capture additional-name + + (MATCH_LAZY_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kMultipleLazyWordsRe => + (?:[^\s,]+(?:[^\S\r\n]+[^\s,]+)*?) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
      • + +
      • + + +
        + + + Capture family-name + + (MATCH_REQUIRED) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kOptionalLastNamePrefixRe => + (?:(?:a|ab|af|av|ap|abu|aït|al|ālam|aust|austre|bar|bath|bat|ben|bin|ibn|bet|bint|binti|binte|da|das|de|degli|dele|del|du|della|der|di|dos|du|e|el|fetch|vetch|fitz|i??|kil|gil|de le|de la|la|le|lille|lu|m|mac|mc|mck|mhic|mic|mala|mellom|myljom|na|ned|nedre|neder|nic|ni|nin|nord|norr|ny|o|ua|ui|opp|upp|öfver|ost|öst|öster|øst|øst|østre|över|øvste|øvre|øver|öz|pour|putra|putri|setia|tor|söder|sør|sønder|sør|syd|søndre|syndre|søre|ter|ter|tre|van|van der|väst|väster|verch|erch|vest|vestre|vesle|vetle|von|zu|von und zu)\s)? + + + +
        • + +
        • + + + + Regex Reference: kSingleWordRe => + (?:[^\s,]+) + + + +
        • + +
        + + + +
        + + +
      • + +
      • + + + +Separator: Regex Reference kWhitespaceSeparator => + (?:^|\s+) + + + +
      • + +
      • + + +
        + + + No capturing pattern + + (MATCH_OPTIONAL) + + + + Parts:
        +
          + +
        • + + + + Regex Reference: kLastNameSuffixRe => + (?:(?:b\.a|ba|d\.d\.s|dds|ii|iii|iv|ix|jr|m\.a|m\.d|md|ms|ph\.?d|sr|v|vi|vii|viii|x)\.?) + + + +
        • + +
        + + + +
        + + +
      • + +
      + + + +
      + + + + + Anchor end: True
      +
      + + +
    6. + +
    +
    + + +
  • + + + + + + + +

    + +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +name = +given-nameadditional-namefamily-name +
    + +
    Flattened formatting:
    +
    +name =
    +given-nameadditional-namefamily-name +
    + +

    + # + + given-name +

    +
    + +First name + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + additional-name +

    +
    + +Middle name (middle initial in case of max-length=1) + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + family-name +

    +
    + +Last name + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + address +

    +
    + +Address of a physical location - Artificial concept, not to be used in HTML + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +address = +street-addresslocality1,␣admin-area1postal-codecountry +
    + +
    Flattened formatting:
    +
    +address =
    +address-line1
    address-line2
    address-line3
    address-line4
    locality1,␣admin-area1postal-code-prefix-postal-code-suffix
    country +
    + +

    + # + + street-address +

    +
    + +Street address (house number, street name, apartment) + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +street-address = +address-line1address-line2address-line3address-line4 +
    + +
    Flattened formatting:
    +
    +street-address =
    +address-line1
    address-line2
    address-line3
    address-line4 +
    + +

    + # + + address-line1 +

    +
    + +1st line of street-address + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + address-line2 +

    +
    + +2nd line of street-address + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + address-line3 +

    +
    + +3rd line of street-address + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + address-line4 +

    +
    + +4th line of street-address + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + locality1 +

    +
    + +City + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + admin-area1

    -State +State + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + postal-code +

    +
    + +Postal code + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Parsing:

    +
    + + + + +
    + Decomposition + + (ParsePostalCodeOptionalSeparatorExpression) + + + Anchor beginning: True
    + + Capture Reference: ParsePostalCodeOptionalSeparatorExpression
    + + + +
    + + + Capture postal-code + + (MATCH_REQUIRED) + + + + Parts:
    +
      + +
    • + + +
      + + + Capture postal-code-prefix + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + + + Regex Reference: kZipPrefixValueRe => + (?:\d{5}) + + + +
      • + +
      + + + +
      + + +
    • + +
    • + + +
      + + + No capturing pattern + + (MATCH_OPTIONAL) + + + + Parts:
      +
        + +
      • + + + +Separator: Regex Reference kZipCodeSeparatorsRe => + (?:[\s-]+) + + + +
      • + +
      + + + +
      + + +
    • + +
    • + + +
      + + + Capture postal-code-suffix + + (MATCH_OPTIONAL) + + + + Parts:
      +
        + +
      • + + + + Regex Reference: kZipSuffixValueRe => + (?:\d{4}) + + + +
      • + +
      + + + +
      + + +
    • + +
    + + + +
    + + + + + Anchor end: True
    +
    + + + + +
    + +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +postal-code = +postal-code-prefix-postal-code-suffix +
    + +
    Flattened formatting:
    +
    +postal-code =
    +postal-code-prefix-postal-code-suffix +
    + +

    + # + + postal-code-prefix +

    +
    + +Postal code prefix + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + postal-code-suffix +

    +
    + +Postal code suffix + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + country +

    +
    + +2-letter country code + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + country-name +

    +
    + +Name of a country (e.g. "USA") + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + organization +

    +
    + +Name of an organization/company + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + credit-card +

    +
    + +Artificial concept, not to be used in HTML + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    Children:

    + +
    + +

    + # + + cc-name +

    +
    + +Full name of credit card holder + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +cc-name = +cc-given-namecc-additional-namecc-family-name +
    + +
    Flattened formatting:
    +
    +cc-name =
    +cc-given-namecc-additional-namecc-family-name +
    + +

    + # + + cc-given-name +

    +
    + +Given name of credit card holder + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + cc-additional-name +

    +
    + +Additional name of credit card holder + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + cc-family-name +

    +
    + +Family name of credit card holder + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + cc-number +

    +
    + +Credit card number + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + cc-exp-MMYY +

    +
    + +Credit card expiration date in format MM/YY + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +cc-exp-MMYY = +cc-exp-MM/cc-exp-YY +
    + +
    Flattened formatting:
    +
    +cc-exp-MMYY =
    +cc-exp-MM/cc-exp-YY +
    + +

    + # + + cc-exp-MM +

    +
    + +Credit card expiration month (2 digits) + -

    - # - - postal-code -

    -
    -Postal code -

    - # - - country -

    -
    -2-letter country code -

    - # - - country-name -

    -
    -Name of a country (e.g. "USA") -

    - # - - organization -

    -
    -Name of an organization/company -

    - # + + + + + + + +

    + # - credit-card + cc-exp-YY

    -Artificial concept, not to be used in HTML +Credit card expiration date in format YY (2 digits) -
    -

    Children:

    - -
    -

    - # + + + + + + + + + + + + + + + + +

    + # - cc-name + cc-exp-MMYYYY

    -Full name of credit card holder +Credit card expiration date in format MM/YYYY + + + + + + + + + + + + + + + + + + + + + + + + @@ -1706,17 +4499,12 @@

    Children:

  • - cc-given-name -
  • - -
  • - - cc-additional-name + cc-exp-MM
  • - cc-family-name + cc-exp-YYYY
  • @@ -1730,87 +4518,65 @@

    Children:

    Formatting:

    -cc-name = -cc-given-namecc-additional-namecc-family-name +cc-exp-MMYYYY = +cc-exp-MM/cc-exp-YYYY
    Flattened formatting:
    -cc-name =
    -cc-given-namecc-additional-namecc-family-name +cc-exp-MMYYYY =
    +cc-exp-MM/cc-exp-YYYY
    -

    - # +

    + # - cc-given-name + cc-exp-YYYY

    -Given name of credit card holder +Credit card expiration date in format YYYY (4 digits) -

    - # - - cc-additional-name -

    -
    -Additional name of credit card holder -

    - # - - cc-family-name -

    -
    -Family name of credit card holder -

    - # - - cc-number -

    -
    -Credit card number -

    - # + + + + + + + + + + + + +

    + # - cc-exp-MMYY + cc-csc

    -Credit card expiration date in format MM/YY +CSC/CVC/CVV number -
    -

    Children:

    - -
    @@ -1818,67 +4584,65 @@

    Children:

    -

    Formatting:

    -
    -cc-exp-MMYY = -cc-exp-MM/cc-exp-YY -
    -
    Flattened formatting:
    -
    -cc-exp-MMYY =
    -cc-exp-MM/cc-exp-YY -
    -

    - # - - cc-exp-MM -

    -
    -Credit card expiration month (2 digits) -

    - # + + + + + + + + +

    + # - cc-exp-YY + cc-type

    -Credit card expiration date in format YY (2 digits) +Credit card type + + + + + + + + + + + + + + + + + + + + + + + + -

    - # +

    + # - cc-exp-MMYYYY + tel

    -Credit card expiration date in format MM/YYYY - - - -
    -

    Children:

    - -
    @@ -1886,59 +4650,21 @@

    Children:

    -

    Formatting:

    -
    -cc-exp-MMYYYY = -cc-exp-MM/cc-exp-YYYY -
    -
    Flattened formatting:
    -
    -cc-exp-MMYYYY =
    -cc-exp-MM/cc-exp-YYYY -
    -

    - # - - cc-exp-YYYY -

    -
    -Credit card expiration date in format YYYY (4 digits) -

    - # - - cc-csc -

    -
    -CSC/CVC/CVV number -

    - # - - cc-type -

    -
    -Credit card type -

    - # - - tel -

    -
    -Full telephone number @@ -1993,6 +4719,30 @@
    Flattened formatting:
    + + + + + + + + + + + + + + + + + + + + + + + +

    # @@ -2005,6 +4755,30 @@

    Flattened formatting:
    + + + + + + + + + + + + + + + + + + + + + + + +

    Children:

    # @@ -2064,6 +4862,30 @@

    Flattened formatting:
    + + + + + + + + + + + + + + + + + + + + + + + +

    Children:

    # @@ -2123,6 +4969,30 @@

    Flattened formatting:
    + + + + + + + + + + + + + + + + + + + + + + + +

    # @@ -2134,6 +5004,30 @@

    Flattened formatting:
    + + + + + + + + + + + + + + + + + + + + + + + +

    # @@ -2145,6 +5039,30 @@

    Flattened formatting:
    + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/model/XX.html b/docs/model/XX.html index eb00c7d..c50b1a6 100644 --- a/docs/model/XX.html +++ b/docs/model/XX.html @@ -281,6 +281,15 @@ IT + + + + 🇯🇵 + + JP + @@ -776,11 +785,50 @@

    Overview of concepts

    + + + + +
    + + +
    +
    + + + postal-code-prefix + - Postal code prefix + + + + +
    + +
    + + + +
    +
    + + + postal-code-suffix + - Postal code suffix + + + +
    +
    + + + + +
    @@ -3277,13 +3325,13 @@

    Children:

    Formatting:

    address = -street-address-alternative-1locality1locality2,␣admin-area1admin-area2postal-codecountry-name +street-address-alternative-1locality1locality2,␣admin-area1admin-area2postal-codecountry
    Flattened formatting:
    address =
    -streetbuilding
    Apt. unit-name,␣Floor floor
    locality1locality2,␣admin-area1admin-area2postal-code
    country-name +streetbuilding
    Apt. unit-name,␣Floor floor
    locality1locality2,␣admin-area1admin-area2postal-code-prefix-postal-code-suffix
    country

    @@ -4881,6 +4929,261 @@

    Flattened formatting:
    + + + + + + + +

    Parsing:

    +
    + + + + +
    + Decomposition + + (ParsePostalCodeMandatorySeparatorExpression) + + + Anchor beginning: True
    + + Capture Reference: ParsePostalCodeMandatorySeparatorExpression
    + + + +
    + + + Capture postal-code + + (MATCH_REQUIRED) + + + + Parts:
    +
      + +
    • + + +
      + + + Capture postal-code-prefix + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + + +
        + Regex Reference: kZipPrefixValueRe + + + + + Regex Reference: kAlphaNumericSequenceRe => + (?:[^\W_]+) + + + + +
        + + + +
      • + +
      + + + +
      + + +
    • + +
    • + + + +Separator: Regex Reference kZipCodeSeparatorsRe => + (?:[\s-]+) + + + +
    • + +
    • + + +
      + + + Capture postal-code-suffix + + (MATCH_OPTIONAL) + + + + Parts:
      +
        + +
      • + + + +
        + Regex Reference: kZipSuffixValueRe + + + + + Regex Reference: kAlphaNumericSequenceRe => + (?:[^\W_]+) + + + + +
        + + + +
      • + +
      + + + +
      + + +
    • + +
    + + + +
    + + + + + Anchor end: True
    +
    + + + + +
    + +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +postal-code = +postal-code-prefix-postal-code-suffix +
    + +
    Flattened formatting:
    +
    +postal-code =
    +postal-code-prefix-postal-code-suffix +
    + +

    + # + + postal-code-prefix +

    +
    + +Postal code prefix + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + postal-code-suffix +

    +
    + +Postal code suffix + + + + + + + + + + + + + + + + + + + + diff --git a/docs/model/global.html b/docs/model/global.html index 0a93d50..35b9269 100644 --- a/docs/model/global.html +++ b/docs/model/global.html @@ -281,6 +281,15 @@ IT + + + + 🇯🇵 + + JP + @@ -1175,11 +1184,50 @@

    Overview of concepts

    +
    + + + +
    + + +
    +
    + + + postal-code-prefix + - Postal code prefix + + + + +
    + +
    + + + +
    +
    + + + postal-code-suffix + - Postal code suffix + + + +
    +
    + + + + +
    @@ -5453,6 +5501,261 @@
    Flattened formatting:
    + + + + + + + +

    Parsing:

    +
    + + + + +
    + Decomposition + + (ParsePostalCodeMandatorySeparatorExpression) + + + Anchor beginning: True
    + + Capture Reference: ParsePostalCodeMandatorySeparatorExpression
    + + + +
    + + + Capture postal-code + + (MATCH_REQUIRED) + + + + Parts:
    +
      + +
    • + + +
      + + + Capture postal-code-prefix + + (MATCH_REQUIRED) + + + + Parts:
      +
        + +
      • + + + +
        + Regex Reference: kZipPrefixValueRe + + + + + Regex Reference: kAlphaNumericSequenceRe => + (?:[^\W_]+) + + + + +
        + + + +
      • + +
      + + + +
      + + +
    • + +
    • + + + +Separator: Regex Reference kZipCodeSeparatorsRe => + (?:[\s-]+) + + + +
    • + +
    • + + +
      + + + Capture postal-code-suffix + + (MATCH_OPTIONAL) + + + + Parts:
      +
        + +
      • + + + +
        + Regex Reference: kZipSuffixValueRe + + + + + Regex Reference: kAlphaNumericSequenceRe => + (?:[^\W_]+) + + + + +
        + + + +
      • + +
      + + + +
      + + +
    • + +
    + + + +
    + + + + + Anchor end: True
    +
    + + + + +
    + +
    +

    Children:

    + +
    + + + + + + + +

    Formatting:

    +
    +postal-code = +postal-code-prefix-postal-code-suffix +
    + +
    Flattened formatting:
    +
    +postal-code =
    +postal-code-prefix-postal-code-suffix +
    + +

    + # + + postal-code-prefix +

    +
    + +Postal code prefix + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + # + + postal-code-suffix +

    +
    + +Postal code suffix + + + + + + + + + + + + + + + + + + + + diff --git a/model/countries/AU/AU-formatting-rules.yaml b/model/countries/AU/AU-formatting-rules.yaml index c61ad7a..c9ea426 100644 --- a/model/countries/AU/AU-formatting-rules.yaml +++ b/model/countries/AU/AU-formatting-rules.yaml @@ -8,8 +8,8 @@ formatting-rules: - separator: " " - postal-code - separator: "\n" - - country-name - - skip: country # redundant with country-name + - country + - skip: country-name # redundant with country - skip: street-address # redundant with street-address-alternative-1 street-address-alternative-1: diff --git a/model/countries/BR/BR-formatting-rules.yaml b/model/countries/BR/BR-formatting-rules.yaml index e703dc4..a73002a 100644 --- a/model/countries/BR/BR-formatting-rules.yaml +++ b/model/countries/BR/BR-formatting-rules.yaml @@ -10,8 +10,8 @@ formatting-rules: - separator: "\n" - postal-code - separator: "\n" - - country-name - - skip: country # redundant with country-name + - country + - skip: country-name # redundant with country - skip: street-address # redundant with street-address-alternative-1 street-address-alternative-1: diff --git a/model/countries/CA/CA-formatting-rules.yaml b/model/countries/CA/CA-formatting-rules.yaml index 3ae98d6..0c5b1b6 100644 --- a/model/countries/CA/CA-formatting-rules.yaml +++ b/model/countries/CA/CA-formatting-rules.yaml @@ -7,8 +7,8 @@ formatting-rules: - admin-area1 - postal-code - separator: "\n" - - country-name - - skip: country # redundant with country-name + - country + - skip: country-name # redundant with country - skip: street-address # redundant with street-address-alternative-1 postal-code: diff --git a/model/countries/DE/DE-formatting-rules.yaml b/model/countries/DE/DE-formatting-rules.yaml index e73ac5e..21d5457 100644 --- a/model/countries/DE/DE-formatting-rules.yaml +++ b/model/countries/DE/DE-formatting-rules.yaml @@ -6,8 +6,8 @@ formatting-rules: - separator: " " - locality1 - separator: "\n" - - country-name - - skip: country # redundant with country-name + - country + - skip: country-name # redundant with country - skip: street-address # redundant with street-address-alternative-1 - skip: admin-area1 diff --git a/model/countries/FR/FR-formatting-rules.yaml b/model/countries/FR/FR-formatting-rules.yaml index 8edeeba..478d8a5 100644 --- a/model/countries/FR/FR-formatting-rules.yaml +++ b/model/countries/FR/FR-formatting-rules.yaml @@ -8,8 +8,8 @@ formatting-rules: - separator: " " - locality1 - separator: "\n" - - country-name - - skip: country # redundant with country-name + - country + - skip: country-name # redundant with country - skip: street-address # redundant with street-address-alternative-1 - skip: admin-area1 # redundant with postal-code diff --git a/model/countries/IN/IN-formatting-rules.yaml b/model/countries/IN/IN-formatting-rules.yaml index 8527944..ec9c9f6 100644 --- a/model/countries/IN/IN-formatting-rules.yaml +++ b/model/countries/IN/IN-formatting-rules.yaml @@ -12,8 +12,8 @@ formatting-rules: - separator: "\n" - postal-code - separator: "\n" - - country-name - - skip: country # redundant with country-name + - country + - skip: country-name # redundant with country - skip: street-address # Not necessary. - skip: street-address-alternative-1 # Not necessary. diff --git a/model/countries/IT/IT-formatting-rules.yaml b/model/countries/IT/IT-formatting-rules.yaml index dc61814..e8768e6 100644 --- a/model/countries/IT/IT-formatting-rules.yaml +++ b/model/countries/IT/IT-formatting-rules.yaml @@ -8,8 +8,8 @@ formatting-rules: - separator: " " - admin-area1 - separator: "\n" - - country-name - - skip: country # redundant with country-name + - country + - skip: country-name # redundant with country - skip: street-address # redundant with street-address-alternative-1 street-address-alternative-1: diff --git a/model/countries/MX/MX-formatting-rules.yaml b/model/countries/MX/MX-formatting-rules.yaml index ae5c278..cd976fa 100644 --- a/model/countries/MX/MX-formatting-rules.yaml +++ b/model/countries/MX/MX-formatting-rules.yaml @@ -14,8 +14,8 @@ formatting-rules: - admin-area1 - separator: "\n" # {country} - - country-name - - skip: country # redundant with country-name + - country + - skip: country-name # redundant with country - skip: street-address # redundant with street-address-alternative-1 building-location: diff --git a/model/countries/NL/NL-formatting-rules.yaml b/model/countries/NL/NL-formatting-rules.yaml index f1e0fbc..e97970a 100644 --- a/model/countries/NL/NL-formatting-rules.yaml +++ b/model/countries/NL/NL-formatting-rules.yaml @@ -6,8 +6,8 @@ formatting-rules: - separator: " " - locality1 - separator: "\n" - - country-name - - skip: country # redundant with country-name + - country + - skip: country-name # redundant with country - skip: street-address # redundant with street-address-alternative-1 - skip: admin-area1 # not commonly used diff --git a/model/countries/PL/PL-formatting-rules.yaml b/model/countries/PL/PL-formatting-rules.yaml index 8d276c4..a7dedd6 100644 --- a/model/countries/PL/PL-formatting-rules.yaml +++ b/model/countries/PL/PL-formatting-rules.yaml @@ -6,8 +6,8 @@ formatting-rules: - separator: " " - locality1 - separator: "\n" - - country-name - - skip: country # redundant with country-name + - country + - skip: country-name # redundant with country - skip: street-address # redundant with street-address-alternative-1 - skip: admin-area1 diff --git a/model/countries/US/US-formatting-rules.yaml b/model/countries/US/US-formatting-rules.yaml index 828d8bf..34c9d37 100644 --- a/model/countries/US/US-formatting-rules.yaml +++ b/model/countries/US/US-formatting-rules.yaml @@ -9,8 +9,8 @@ formatting-rules: - postal-code - separator: "\n" # {country} - - country-name - - skip: country # redundant with country-name + - country + - skip: country-name # redundant with country - skip: street-address # redundant with street-address-alternative-1 examples: diff --git a/model/countries/XX/XX-formatting-rules.yaml b/model/countries/XX/XX-formatting-rules.yaml index 19dffbe..2546823 100644 --- a/model/countries/XX/XX-formatting-rules.yaml +++ b/model/countries/XX/XX-formatting-rules.yaml @@ -11,8 +11,8 @@ formatting-rules: - postal-code - separator: "\n" # {country} - - country-name - - skip: country # redundant with country-name + - country + - skip: country-name # redundant with country - skip: street-address # redundant with street-address-alternative-1 building-location: