Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Side by Side Diff: components/autofill/core/browser/autofill_regex_constants.cc

Issue 1515963003: Revert of Label non-capturing groups if no capturing needed (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | components/autofill/core/browser/form_field_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This file contains UTF8 strings that we want as char arrays. To avoid 5 // This file contains UTF8 strings that we want as char arrays. To avoid
6 // different compilers, we use a script to convert the UTF8 strings into 6 // different compilers, we use a script to convert the UTF8 strings into
7 // numeric literals (\x##). 7 // numeric literals (\x##).
8 8
9 #include "components/autofill/core/browser/autofill_regex_constants.h" 9 #include "components/autofill/core/browser/autofill_regex_constants.h"
10 10
11 // This macro is to workaround the fact that RE2 library only supports ASCII 11 // This macro is to workaround the fact that RE2 library only supports ASCII
12 // word boundaries and it is supposed to be the same as \b. 12 // word boundaries and it is supposed to be the same as \b.
13 #define WORDBREAK "(?:\\A|\\z|\\PL)" 13 #define WORDBREAK "(\\A|\\z|\\PL)"
14 14
15 namespace autofill { 15 namespace autofill {
16 16
17 ///////////////////////////////////////////////////////////////////////////// 17 /////////////////////////////////////////////////////////////////////////////
18 // address_field.cc 18 // address_field.cc
19 ///////////////////////////////////////////////////////////////////////////// 19 /////////////////////////////////////////////////////////////////////////////
20 const char kAttentionIgnoredRe[] = "attention|attn"; 20 const char kAttentionIgnoredRe[] = "attention|attn";
21 const char kRegionIgnoredRe[] = 21 const char kRegionIgnoredRe[] =
22 "province|region|other" 22 "province|region|other"
23 "|provincia" // es 23 "|provincia" // es
24 "|bairro|suburb"; // pt-BR, pt-PT 24 "|bairro|suburb"; // pt-BR, pt-PT
25 const char kCompanyRe[] = 25 const char kCompanyRe[] =
26 "company|business|organization|organisation" 26 "company|business|organization|organisation"
27 "|firma|firmenname" // de-DE 27 "|firma|firmenname" // de-DE
28 "|empresa" // es 28 "|empresa" // es
29 "|societe|société" // fr-FR 29 "|societe|société" // fr-FR
30 "|ragione.?sociale" // it-IT 30 "|ragione.?sociale" // it-IT
31 "|会社" // ja-JP 31 "|会社" // ja-JP
32 "|название.?компании" // ru 32 "|название.?компании" // ru
33 "|单位|公司" // zh-CN 33 "|单位|公司" // zh-CN
34 "|회사|직장"; // ko-KR 34 "|회사|직장"; // ko-KR
35 const char kAddressLine1Re[] = 35 const char kAddressLine1Re[] =
36 "address.*line|address1|addr1|street" 36 "address.*line|address1|addr1|street"
37 "|(?:shipping|billing)address$" 37 "|(shipping|billing)address$"
38 "|strasse|straße|hausnummer|housenumber" // de-DE 38 "|strasse|straße|hausnummer|housenumber" // de-DE
39 "|house.?name" // en-GB 39 "|house.?name" // en-GB
40 "|direccion|dirección" // es 40 "|direccion|dirección" // es
41 "|adresse" // fr-FR 41 "|adresse" // fr-FR
42 "|indirizzo" // it-IT 42 "|indirizzo" // it-IT
43 "|住所1" // ja-JP 43 "|住所1" // ja-JP
44 "|morada|endereço" // pt-BR, pt-PT 44 "|morada|endereço" // pt-BR, pt-PT
45 "|Адрес" // ru 45 "|Адрес" // ru
46 "|地址" // zh-CN 46 "|地址" // zh-CN
47 "|주소.?1"; // ko-KR 47 "|주소.?1"; // ko-KR
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 "|estado|provincia" // pt-BR, pt-PT 121 "|estado|provincia" // pt-BR, pt-PT
122 "|область" // ru 122 "|область" // ru
123 "|省" // zh-CN 123 "|省" // zh-CN
124 "|地區" // zh-TW 124 "|地區" // zh-TW
125 "|^시[·・]?도"; // ko-KR 125 "|^시[·・]?도"; // ko-KR
126 126
127 ///////////////////////////////////////////////////////////////////////////// 127 /////////////////////////////////////////////////////////////////////////////
128 // credit_card_field.cc 128 // credit_card_field.cc
129 ///////////////////////////////////////////////////////////////////////////// 129 /////////////////////////////////////////////////////////////////////////////
130 const char kNameOnCardRe[] = 130 const char kNameOnCardRe[] =
131 "card.?(?:holder|owner)|name.*" WORDBREAK "on" WORDBREAK ".*card" 131 "card.?(holder|owner)|name.*" WORDBREAK "on" WORDBREAK ".*card"
132 "|(?:card|cc).?name|cc.?full.?name" 132 "|(card|cc).?name|cc.?full.?name"
133 "|karteninhaber" // de-DE 133 "|karteninhaber" // de-DE
134 "|nombre.*tarjeta" // es 134 "|nombre.*tarjeta" // es
135 "|nom.*carte" // fr-FR 135 "|nom.*carte" // fr-FR
136 "|nome.*cart" // it-IT 136 "|nome.*cart" // it-IT
137 "|名前" // ja-JP 137 "|名前" // ja-JP
138 "|Имя.*карты" // ru 138 "|Имя.*карты" // ru
139 "|信用卡开户名|开户名|持卡人姓名" // zh-CN 139 "|信用卡开户名|开户名|持卡人姓名" // zh-CN
140 "|持卡人姓名"; // zh-TW 140 "|持卡人姓名"; // zh-TW
141 const char kNameOnCardContextualRe[] = 141 const char kNameOnCardContextualRe[] =
142 "name"; 142 "name";
143 const char kCardNumberRe[] = 143 const char kCardNumberRe[] =
144 "(?:card|cc|acct).?(?:number|#|no|num)" 144 "(card|cc|acct).?(number|#|no|num)"
145 "|nummer" // de-DE 145 "|nummer" // de-DE
146 "|credito|numero|número" // es 146 "|credito|numero|número" // es
147 "|numéro" // fr-FR 147 "|numéro" // fr-FR
148 "|カード番号" // ja-JP 148 "|カード番号" // ja-JP
149 "|Номер.*карты" // ru 149 "|Номер.*карты" // ru
150 "|信用卡号|信用卡号码" // zh-CN 150 "|信用卡号|信用卡号码" // zh-CN
151 "|信用卡卡號" // zh-TW 151 "|信用卡卡號" // zh-TW
152 "|카드"; // ko-KR 152 "|카드"; // ko-KR
153 const char kCardCvcRe[] = 153 const char kCardCvcRe[] =
154 "verification|card identification|security code|card code" 154 "verification|card identification|security code|card code"
(...skipping 17 matching lines...) Expand all
172 "|gueltig|gültig|monat" // de-DE 172 "|gueltig|gültig|monat" // de-DE
173 "|fecha" // es 173 "|fecha" // es
174 "|date.*exp" // fr-FR 174 "|date.*exp" // fr-FR
175 "|scadenza" // it-IT 175 "|scadenza" // it-IT
176 "|有効期限" // ja-JP 176 "|有効期限" // ja-JP
177 "|validade" // pt-BR, pt-PT 177 "|validade" // pt-BR, pt-PT
178 "|Срок действия карты" // ru 178 "|Срок действия карты" // ru
179 "|月"; // zh-CN 179 "|月"; // zh-CN
180 const char kExpirationYearRe[] = 180 const char kExpirationYearRe[] =
181 "exp|^/|year" 181 "exp|^/|year"
182 "|ablaufdatum|gueltig|gültig|jahr" // de-DE 182 "|ablaufdatum|gueltig|gültig|yahr" // de-DE
183 "|fecha" // es 183 "|fecha" // es
184 "|scadenza" // it-IT 184 "|scadenza" // it-IT
185 "|有効期限" // ja-JP 185 "|有効期限" // ja-JP
186 "|validade" // pt-BR, pt-PT 186 "|validade" // pt-BR, pt-PT
187 "|Срок действия карты" // ru 187 "|Срок действия карты" // ru
188 "|年|有效期"; // zh-CN 188 "|年|有效期"; // zh-CN
189 189
190 // The "yy" portion of the regex is just looking for two adjacent y's. 190 // The "yy" portion of the regex is just looking for two adjacent y's.
191 const char kExpirationDate2DigitYearRe[] = 191 const char kExpirationDate2DigitYearRe[] =
192 "(?:exp.*date.*|mm\\s*[-/]\\s*)[^y]yy([^y]|$)"; 192 "(exp.*date.*|mm\\s*[-/]\\s*)[^y]yy([^y]|$)";
193 const char kExpirationDate4DigitYearRe[] = 193 const char kExpirationDate4DigitYearRe[] =
194 "^mm\\s*[-/]\\syyyy$"; 194 "^mm\\s*[-/]\\syyyy$";
195 const char kExpirationDateRe[] = 195 const char kExpirationDateRe[] =
196 "expir|exp.*date" 196 "expir|exp.*date"
197 "|gueltig|gültig" // de-DE 197 "|gueltig|gültig" // de-DE
198 "|fecha" // es 198 "|fecha" // es
199 "|date.*exp" // fr-FR 199 "|date.*exp" // fr-FR
200 "|scadenza" // it-IT 200 "|scadenza" // it-IT
201 "|有効期限" // ja-JP 201 "|有効期限" // ja-JP
202 "|validade" // pt-BR, pt-PT 202 "|validade" // pt-BR, pt-PT
203 "|Срок действия карты"; // ru 203 "|Срок действия карты"; // ru
204 const char kGiftCardRe[] = 204 const char kGiftCardRe[] =
205 "gift.?card"; 205 "gift.?card";
206 const char kDebitGiftCardRe[] = 206 const char kDebitGiftCardRe[] =
207 "(?:visa|mastercard|discover|amex|american express).*gift.?card"; 207 "(visa|mastercard|discover|amex|american express).*gift.?card";
208 const char kDebitCardRe[] = 208 const char kDebitCardRe[] =
209 "debit.*card"; 209 "debit.*card";
210 210
211 211
212 ///////////////////////////////////////////////////////////////////////////// 212 /////////////////////////////////////////////////////////////////////////////
213 // email_field.cc 213 // email_field.cc
214 ///////////////////////////////////////////////////////////////////////////// 214 /////////////////////////////////////////////////////////////////////////////
215 const char kEmailRe[] = 215 const char kEmailRe[] =
216 "e.?mail" 216 "e.?mail"
217 "|courriel" // fr 217 "|courriel" // fr
218 "|メールアドレス" // ja-JP 218 "|メールアドレス" // ja-JP
219 "|Электронной.?Почты" // ru 219 "|Электронной.?Почты" // ru
220 "|邮件|邮箱" // zh-CN 220 "|邮件|邮箱" // zh-CN
221 "|電郵地址" // zh-TW 221 "|電郵地址" // zh-TW
222 "|(?:이메일|전자.?우편|[Ee]-?mail)(.?주소)?"; // ko-KR 222 "|(이메일|전자.?우편|[Ee]-?mail)(.?주소)?"; // ko-KR
223 223
224 224
225 ///////////////////////////////////////////////////////////////////////////// 225 /////////////////////////////////////////////////////////////////////////////
226 // name_field.cc 226 // name_field.cc
227 ///////////////////////////////////////////////////////////////////////////// 227 /////////////////////////////////////////////////////////////////////////////
228 const char kNameIgnoredRe[] = 228 const char kNameIgnoredRe[] =
229 "user.?name|user.?id|nickname|maiden name|title|prefix|suffix" 229 "user.?name|user.?id|nickname|maiden name|title|prefix|suffix"
230 "|vollständiger.?name" // de-DE 230 "|vollständiger.?name" // de-DE
231 "|用户名" // zh-CN 231 "|用户名" // zh-CN
232 "|(?:사용자.?)?아이디|사용자.?ID"; // ko-KR 232 "|(사용자.?)?아이디|사용자.?ID"; // ko-KR
233 const char kNameRe[] = 233 const char kNameRe[] =
234 "^name|full.?name|your.?name|customer.?name|bill.?name|ship.?name" 234 "^name|full.?name|your.?name|customer.?name|bill.?name|ship.?name"
235 "|name.*first.*last|firstandlastname" 235 "|name.*first.*last|firstandlastname"
236 "|nombre.*y.*apellidos" // es 236 "|nombre.*y.*apellidos" // es
237 "|^nom" // fr-FR 237 "|^nom" // fr-FR
238 "|お名前|氏名" // ja-JP 238 "|お名前|氏名" // ja-JP
239 "|^nome" // pt-BR, pt-PT 239 "|^nome" // pt-BR, pt-PT
240 "|姓名" // zh-CN 240 "|姓名" // zh-CN
241 "|성명"; // ko-KR 241 "|성명"; // ko-KR
242 const char kNameSpecificRe[] = 242 const char kNameSpecificRe[] =
(...skipping 30 matching lines...) Expand all
273 ///////////////////////////////////////////////////////////////////////////// 273 /////////////////////////////////////////////////////////////////////////////
274 const char kPhoneRe[] = 274 const char kPhoneRe[] =
275 "phone|mobile" 275 "phone|mobile"
276 "|telefonnummer" // de-DE 276 "|telefonnummer" // de-DE
277 "|telefono|teléfono" // es 277 "|telefono|teléfono" // es
278 "|telfixe" // fr-FR 278 "|telfixe" // fr-FR
279 "|電話" // ja-JP 279 "|電話" // ja-JP
280 "|telefone|telemovel" // pt-BR, pt-PT 280 "|telefone|telemovel" // pt-BR, pt-PT
281 "|телефон" // ru 281 "|телефон" // ru
282 "|电话" // zh-CN 282 "|电话" // zh-CN
283 "|(?:전화|핸드폰|휴대폰|휴대전화)(?:.?번호)?"; // ko-KR 283 "|(전화|핸드폰|휴대폰|휴대전화)(.?번호)?"; // ko-KR
284 const char kCountryCodeRe[] = 284 const char kCountryCodeRe[] =
285 "country.*code|ccode|_cc"; 285 "country.*code|ccode|_cc";
286 const char kAreaCodeNotextRe[] = 286 const char kAreaCodeNotextRe[] =
287 "^\\($"; 287 "^\\($";
288 const char kAreaCodeRe[] = 288 const char kAreaCodeRe[] =
289 "area.*code|acode|area" 289 "area.*code|acode|area"
290 "|지역.?번호"; // ko-KR 290 "|지역.?번호"; // ko-KR
291 const char kPhonePrefixSeparatorRe[] = 291 const char kPhonePrefixSeparatorRe[] =
292 "^-$|^\\)$"; 292 "^-$|^\\)$";
293 const char kPhoneSuffixSeparatorRe[] = 293 const char kPhoneSuffixSeparatorRe[] =
294 "^-$"; 294 "^-$";
295 const char kPhonePrefixRe[] = 295 const char kPhonePrefixRe[] =
296 "prefix|exchange" 296 "prefix|exchange"
297 "|preselection" // fr-FR 297 "|preselection" // fr-FR
298 "|ddd"; // pt-BR, pt-PT 298 "|ddd"; // pt-BR, pt-PT
299 const char kPhoneSuffixRe[] = 299 const char kPhoneSuffixRe[] =
300 "suffix"; 300 "suffix";
301 const char kPhoneExtensionRe[] = 301 const char kPhoneExtensionRe[] =
302 WORDBREAK "ext|ext" WORDBREAK "|extension" 302 WORDBREAK "ext|ext" WORDBREAK "|extension"
303 "|ramal"; // pt-BR, pt-PT 303 "|ramal"; // pt-BR, pt-PT
304 304
305 } // namespace autofill 305 } // namespace autofill
306 306
307 #undef WORDBREAK 307 #undef WORDBREAK
OLDNEW
« no previous file with comments | « no previous file | components/autofill/core/browser/form_field_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698