Regex 使用正则表达式获取门牌号格式

Regex 使用正则表达式获取门牌号格式,regex,Regex,我正在努力寻找与某些门牌号格式匹配的正确正则表达式: 应找到以下格式: 1/1a/1a-z 不应该匹配的是:1楼1 到目前为止,我得到了“^\d[A-Za-z]?[-]?[A-Za-z]?$”,它适用于所有情况,但也匹配1ab 那么,我怎样才能增加数字后面只有一个字母的要求呢?我相信你想要的正则表达式是类似于^\d+([A-Za-z]([A-Za-z])?)?$, 我将对此进行分解: \d表示任何数字 +表示一个或多个(因此\d+匹配1、12、123等) 括号(和)包含一个组 ?表示零或其中之

我正在努力寻找与某些门牌号格式匹配的正确正则表达式:

应找到以下格式:

1/1a/1a-z

不应该匹配的是:1楼1

到目前为止,我得到了
“^\d[A-Za-z]?[-]?[A-Za-z]?$”
,它适用于所有情况,但也匹配1ab


那么,我怎样才能增加数字后面只有一个字母的要求呢?

我相信你想要的正则表达式是类似于
^\d+([A-Za-z]([A-Za-z])?)?$,

我将对此进行分解:

  • \d
    表示任何数字
  • +
    表示一个或多个(因此
    \d+
    匹配1、12、123等)
  • 括号
    包含一个组
  • 表示零或其中之一
  • [A-Za-z]
    匹配范围
    A-z
    A-z
  • [A-Za-z]([A-Za-z])?
    表示一个字母,可以选择后跟连字符和另一个字母

要进行可视化,请参见(工具不是我的)

试着自己写一些东西,如果不起作用,请具体告诉我们您做了什么,以便我们可以帮助您。你先开始,然后我们来帮忙。我们不是为你写的。向我们展示您尝试过的实际代码,然后描述发生了什么和什么不正确,然后我们可以从那里帮助您。如果你先亲自尝试,很可能你会非常接近答案。试试
^\d([A-Za-z]([-][A-Za-z])?)?$
谢谢!有效:)