【发布时间】:2013-07-01 09:15:23
【问题描述】:
我有以下用于匹配英国邮政编码的正则表达式:
GIR[ ]?0AA|((AB|AL|B|BA|BB|BD|BH|BL|BN|BR|BS|BT|CA|CB|CF|CH|CM|CO|CR|CT |CV|CW|DA|DD|DE|DG|DH|DL|DN|DT|DY|E|EC|EH|EN|EX|FK|FY|G|GL|GY|GU|HA|HD|HG |HP|HR|HS|HU|HX|IG|IM|IP|IV|JE|KA|KT|KW|KY|L|LA|LD|LE|LL|LN|LS|LU|M|ME|MK |ML|N|NE|NG|NN|NP|NR|NW|OL|OX|PA|PE|PH|PL|PO|PR|RG|RH|RM|S|SA|SE|SG|SK|SL |SM|SN|SO|SP|SR|SS|ST|SW|SY|TA|TD|TF|TN|TQ|TR|TS|TW|UB|W|WA|WC|WD|WF|WN|WR |WS|WV|YO|ZE)(\d[\dA-Z]?[ ]?\d[ABD-HJLN-UW-Z]{2}))|BFPO[ ]?\d{1,4} /gi
据我了解,我可以在末尾添加/gi 以使其不区分大小写,但这似乎根本不起作用?有谁知道为什么?
【问题讨论】:
-
你的正则表达式引擎是什么?根据您使用的是哪一个,使用
/gi可能不起作用,而在表达式开头使用(?i)会使表达式不区分大小写。 -
@Jerry .NET,这个正则表达式被提供给 Asp.net 页面上的
RegularExpressionValidator控件 -
您不需要添加
g- 只需添加i- 但是当您说“似乎不起作用”时,您是什么意思? -
@AleksG
when you say "doesn't seem to work", what do you mean?我的意思是当输入小写时它与英国邮政编码不匹配。大写就好了
标签: .net regex validation case-insensitive postal-code