【问题标题】:Regular Expression regex to validate input: Two words with a space between用于验证输入的正则表达式正则表达式:两个单词之间有空格
【发布时间】:2011-02-20 23:34:55
【问题描述】:

我需要使用正则表达式来验证一个 php 字段,该字段必须有两个由空格分隔的单词,例如:“First Last”,但我找不到适合我的目的,谁能帮助我?

我做过的最好的事情是^[a-zA-Z0-9_\s]*$,但是有了这个,我可以在该领域的任何地方拥有多个空格,而我只想要单词之间的空间。谁能帮帮我?

【问题讨论】:

    标签: php regex


    【解决方案1】:

    ^\w+\s\w+$ 之类的东西应该适用于这种情况。但是你不一定需要为此使用正则表达式,你可以使用explode()

    【讨论】:

    • +1:完全匹配 OP 的问题。但无论如何我都会投票给你,只是为了摆脱{1} 可憎的东西。 :D
    【解决方案2】:
    ^[^\s]+\s[^\s]+$
    
    • [^\s]+ 匹配一个或多个字符,空白字符除外;
    • \s 匹配单个空白字符。

    【讨论】:

      【解决方案3】:

      这可能会解决问题

      ^[a-zA-Z0-9]+ {1}[a-zA-Z0-9]+$
      

      【讨论】:

      • 这里的工作方式如下: ^\w+\s{1}\w+$ :P 如果我只想要字母 A-Za-z 而不是 \w(字母数字)?我无法将其与正则表达式相匹配:o
      • 我必须放 \s 但它不符合我的目的,奇怪的是,如果我在开头或结尾放一个空格,并且只有它正确验证的单词:s ^[a-zA-Z0 -9]+\s{1}[a-zA-Z0-9]+$
      猜你喜欢
      • 2021-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-06
      • 2017-12-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多