邮政编码的正则表达式以H字符开头

时间:2014-09-07 10:23:55

标签: php regex

我有邮政编码的Regualar表达式

 [ABCEGHJKLMNPRSTVXYabceghjklmnprstvxy]{1}\d{1}[A-Za-z]-{1} *\d{1}[A-Za-z]{1}\d{1}|[ABCEGHJKLMNPRSTVXYabceghjklmnprstvxy]{1}\d{1}[A-Za-z]{1} *\d{1}[A-Za-z]{1}\d{1}

这很好用。

但我只想要以“H”字符开头的邮政编码。

例如:H2X 1X8

但问题是这些邮政编码的正则表达式也不以“H”开头

例如j4k1a4

建议我,如何修改此正则表达式,使其仅适用于以“H”字符开头的邮政编码。

我赞成任何回复。

由于

2 个答案:

答案 0 :(得分:2)

试试这个

^[Hh]{1}\d{1}[A-Za-z]-{1} *\d{1}[A-Za-z]{1}\d{1}|^[Hh]{1}\d{1}[A-Za-z]{1} *\d{1}[A-Za-z]{1}\d{1}

另见this

如果您要匹配的字符串不在该行的开头,您可以在regex

下方使用
[Hh]{1}\d{1}[A-Za-z]-{1} *\d{1}[A-Za-z]{1}\d{1}|[Hh]{1}\d{1}[A-Za-z]{1} *\d{1}[A-Za-z]{1}\d{1}

您可以使用不同的输入here

进行测试

答案 1 :(得分:1)

您可以将正则表达式简化为:

\b(?i)h\d[a-z]-? *\d[a-z]\d\b

其中(?i)表示不区分大小写。