我有邮政编码的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”字符开头的邮政编码。
我赞成任何回复。
由于
答案 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)
表示不区分大小写。