正则表达式,允许字符串"站点6阵营101"

时间:2018-02-14 10:20:28

标签: javascript java regex

寻找正则表达式,这将允许"站点6阵营101"或" site6阵营101"单词空格数字或空格或数字向前

允许

Site6
Site6 camp101
site 6 camp 101

现在允许

Site camp 

在第一个单词和空格之后只允许使用数字。我尝试过以下代码:

^[A-Za-z]+[0-9 ]+[A-Za-z 0-9]+

未按预期工作

2 个答案:

答案 0 :(得分:1)

在" Site"之间定义一个可选空格。和" 6",并从[0-9 ]

中删除空格
    ^[a-zA-Z]+ ?[0-9]+[a-zA-Z\d ]+
--- Here -----^

匹配:

  • Site6 camp101

  • site 6 camp 101

并且不匹配:

  • Site camp

同样的事情更短,使用\w(任何字母数字)和\d(仅限数字):

^\w+ ?\d+[\w ]+
新要求后

修改

由于正则表达式也应该允许some6,所以在那之后做任何事情(可选)? :

^\w+ ?\d+([\w ]+)?

匹配:

  • Site6

  • Site6 camp101

  • site 6 camp 101

不匹配:

  • Site camp

答案 1 :(得分:1)

将我的评论翻译成答案。

您可以使用此正则表达式:

addToBackStack

RegEx Demo

    在第一个^[A-Za-z]+\s*[0-9]+(?:[ \t]+[a-zA-Z]+\s*[0-9]+)?$ 第一个空格可选之前
  • \s*
  • [0-9]+内的正则表达式是可选匹配。