JS Regex 匹配来自字符串的加拿大邮政编码

Posted

技术标签:

【中文标题】JS Regex 匹配来自字符串的加拿大邮政编码【英文标题】:JS Regex match Canadian postal code from string 【发布时间】:2021-06-23 23:28:31 【问题描述】:

我想从字符串中查找字母数字的加拿大邮政编码。 一个字符串,例如H9B2R1|taco|salsa|taco,或者如果编码,则为H9B2R1%7Ctaco%7Csalsa%7Ctaco。 我正在寻找的结果是在任何特殊字符和/或非字母数字值之前修剪过的邮政编码。 如何使用 split 或 regex 解析/匹配它以返回 H9B2R1 ?我在***上搜索过这样的问题,但没有找到。

【问题讨论】:

您是否尝试过与| 拆分并获得第一个项目? "H9B2R1|taco|salsa|taco".split('|')[0]? @WiktorStribiżew,选择的答案正是我想要的。 【参考方案1】:

试试这个

"H9B2R1|taco|salsa|taco".match(/\w+/)[0] //returns H9B2R1
"H9B2R1%7Ctaco%7Csalsa%7Ctaco".match(/\w+/)[0] //returns H9B2R1

//or using split method

"H9B2R1|taco|salsa|taco".split(/\W/)[0] //returns H9B2R1
"H9B2R1%7Ctaco%7Csalsa%7Ctaco".split(/\W/)[0] //returns H9B2R1

【讨论】:

以上是关于JS Regex 匹配来自字符串的加拿大邮政编码的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 中匹配 Unicode 字边界

Regex 常见语法

加拿大邮政编码功能的高效正则表达式

匹配 .NET Regex 中的扩展 ASCII 字符

std::regex,匹配字符串的开始/结束

Javascript 的奇怪 RegEx 请求