| Index: components/autofill/core/browser/autofill_regex_constants.cc
|
| diff --git a/components/autofill/core/browser/autofill_regex_constants.cc b/components/autofill/core/browser/autofill_regex_constants.cc
|
| index d4b49cbb4387d83b5873004647eb5945988093e2..4aed1a53c579b8817bdca54a10f75b9a3053601d 100644
|
| --- a/components/autofill/core/browser/autofill_regex_constants.cc
|
| +++ b/components/autofill/core/browser/autofill_regex_constants.cc
|
| @@ -7,10 +7,6 @@
|
| // numeric literals (\x##).
|
|
|
| #include "components/autofill/core/browser/autofill_regex_constants.h"
|
| -
|
| -// This macro is to workaround the fact that RE2 library only supports ASCII
|
| -// word boundaries and it is supposed to be the same as \b.
|
| -#define WORDBREAK "(\\A|\\z|\\PL)"
|
|
|
| namespace autofill {
|
|
|
| @@ -88,11 +84,11 @@
|
| "zip|postal|post.*code|pcode"
|
| "|pin.?code" // en-IN
|
| "|postleitzahl" // de-DE
|
| - "|" WORDBREAK "cp" WORDBREAK // es
|
| - "|" WORDBREAK "cdp" WORDBREAK // fr-FR
|
| - "|" WORDBREAK "cap" WORDBREAK // it-IT
|
| + "|\\bcp\\b" // es
|
| + "|\\bcdp\\b" // fr-FR
|
| + "|\\bcap\\b" // it-IT
|
| "|郵便番号" // ja-JP
|
| - "|codigo|codpos|" WORDBREAK "cep" WORDBREAK // pt-BR, pt-PT
|
| + "|codigo|codpos|\\bcep\\b" // pt-BR, pt-PT
|
| "|Почтовый.?Индекс" // ru
|
| "|邮政编码|邮编" // zh-CN
|
| "|郵遞區號" // zh-TW
|
| @@ -102,7 +98,7 @@
|
| "|codpos2"; // pt-BR, pt-PT
|
| const char kCityRe[] =
|
| "city|town"
|
| - "|" WORDBREAK "ort" WORDBREAK "|stadt" // de-DE
|
| + "|\\bort\\b|stadt" // de-DE
|
| "|suburb" // en-AU
|
| "|ciudad|provincia|localidad|poblacion" // es
|
| "|ville|commune" // fr-FR
|
| @@ -114,7 +110,7 @@
|
| "|分區" // zh-TW
|
| "|^시[^도·・]|시[·・]?군[·・]?구"; // ko-KR
|
| const char kStateRe[] =
|
| - "state|county|region|province"
|
| + "(?<!united )state|county|region|province"
|
| "|land" // de-DE
|
| "|county|principality" // en-UK
|
| "|都道府県" // ja-JP
|
| @@ -128,8 +124,7 @@
|
| // credit_card_field.cc
|
| /////////////////////////////////////////////////////////////////////////////
|
| const char kNameOnCardRe[] =
|
| - "card.?(holder|owner)|name.*" WORDBREAK "on" WORDBREAK ".*card"
|
| - "|(card|cc).?name|cc.?full.?name"
|
| + "card.?(holder|owner)|name.*\\bon\\b.*card|(card|cc).?name|cc.?full.?name"
|
| "|karteninhaber" // de-DE
|
| "|nombre.*tarjeta" // es
|
| "|nom.*carte" // fr-FR
|
| @@ -153,7 +148,7 @@
|
| const char kCardCvcRe[] =
|
| "verification|card identification|security code|card code"
|
| "|cvn|cvv|cvc|csc|cvd|cid|ccv"
|
| - "|" WORDBREAK "cid" WORDBREAK;
|
| + "|\\bcid\\b";
|
|
|
| // "Expiration date" is the most common label here, but some pages have
|
| // "Expires", "exp. date" or "exp. month" and "exp. year". We also look
|
| @@ -252,8 +247,7 @@
|
| "|nome" // pt-BR, pt-PT
|
| "|Имя" // ru
|
| "|이름"; // ko-KR
|
| -const char kMiddleInitialRe[] =
|
| - "middle.*initial|m\\.i\\.|mi$|" WORDBREAK "mi" WORDBREAK;
|
| +const char kMiddleInitialRe[] = "middle.*initial|m\\.i\\.|mi$|\\bmi\\b";
|
| const char kMiddleNameRe[] =
|
| "middle.*name|mname|middle$"
|
| "|apellido.?materno|lastlastname"; // es
|
| @@ -299,9 +293,7 @@
|
| const char kPhoneSuffixRe[] =
|
| "suffix";
|
| const char kPhoneExtensionRe[] =
|
| - WORDBREAK "ext|ext" WORDBREAK "|extension"
|
| + "\\bext|ext\\b|extension"
|
| "|ramal"; // pt-BR, pt-PT
|
|
|
| } // namespace autofill
|
| -
|
| -#undef WORDBREAK
|
|
|