Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式单空间_Regex_String_Expression_Whitespace - Fatal编程技术网

Regex 正则表达式单空间

Regex 正则表达式单空间,regex,string,expression,whitespace,Regex,String,Expression,Whitespace,我正在尝试创建一个正则表达式来验证此模式: 这是一个文本 [正文][单空格][正文][单空格][正文][单空格][正文] 个人姓名 威廉·史密斯 [文本][单空格][文本] 另一个文本 [正文][单空格][正文][单空格] 该模式将包含以下规则: 不要从任何空间开始 字符串只能在单词之间包含一个空格,也可以在字符串末尾包含一个空格 我有一个正则表达式 /^[[A-Za-z0-9]+\s?[A-Za-z0-9]*]{0,10}$/ 但我不知道如何重复这个模式,并使它的长度为10 **编辑**

我正在尝试创建一个正则表达式来验证此模式:

这是一个文本
[正文][单空格][正文][单空格][正文][单空格][正文] 个人姓名
威廉·史密斯
[文本][单空格][文本]
另一个文本 [正文][单空格][正文][单空格]

该模式将包含以下规则:

  • 不要从任何空间开始
  • 字符串只能在单词之间包含一个空格,也可以在字符串末尾包含一个空格
我有一个正则表达式

/^[[A-Za-z0-9]+\s?[A-Za-z0-9]*]{0,10}$/

但我不知道如何重复这个模式,并使它的长度为10

**编辑**

为了让大家更容易理解,我正在开发一个jQuery插件,它将一个按键事件绑定到一个输入文本元素,然后在每个按键中添加一个表达式来验证文本,就像一个屏蔽的文本框,因此,要应用掩码的规则,该掩码只接受字母数字字符和单词之间的空格,我需要表达式像这样验证每个按下的键

T
Th


这是我
这是
这是
这是一个
这是一个
这是一个t
这是一个te
这是一个tex
这是一个文本

使用(
()
)而不是分隔符(
[]
)将表达式分组,最多十次:

^\w+(\s\w+){0,9}\s?$
使用(与
()
)而不是分隔符(
[]
)将表达式分组,最多十次:

^\w+(\s\w+){0,9}\s?$
好吧,我想我已经正确理解了这些要求

首先,它匹配一个单词,后跟一个空格:

/[a-zA-Z01-9]+ /
然后我们需要重复10次,对吗?从头开始

/^([a-zA-Z01-9]+ ){10}/
但是尾随空格是可选的,是吗

/^([a-zA-Z01-9]+ ){9}[a-zA-Z01-9]+ ?$/
此外,最好使用
\w
而不是
[a-zA-Z01-9]
.1和
\s
匹配任何空格,这可能比只匹配
空格要好

如果您的意思是最多10次,那么应该是
{0,9}
,而不是
{9}

1
\w
将匹配下划线以及各种国际字母,而您的原始模式不会匹配这些字母。我不确定这是否是故意的,所以我没有使用它,但如果不是故意的,那么
\w
是一个更好的选择。

好的,我想我已经正确理解了需求

首先,它匹配一个单词,后跟一个空格:

/[a-zA-Z01-9]+ /
然后我们需要重复10次,对吗?从头开始

/^([a-zA-Z01-9]+ ){10}/
但是尾随空格是可选的,是吗

/^([a-zA-Z01-9]+ ){9}[a-zA-Z01-9]+ ?$/
此外,最好使用
\w
而不是
[a-zA-Z01-9]
.1和
\s
匹配任何空格,这可能比只匹配
空格要好

如果您的意思是最多10次,那么应该是
{0,9}
,而不是
{9}



1
\w
将匹配下划线以及各种国际字母,而您的原始模式不会匹配这些字母。我不确定这是否是故意的,所以我没有使用它,但如果它不是故意的,那么
\w
是一个更好的选择。

您缺少尾随空格的选项。但无论如何,除此之外,我认为这是一个更好的模式,我喜欢链接。酷,现在我可以给你+1。当模式与所问内容不匹配时,即使这是一个很好的答案,但给出它似乎是不正确的。您缺少了尾随空格的选项。但无论如何,除此之外,我认为这是一个更好的模式,我喜欢链接。酷,现在我可以给你+1。当模式与所问内容不匹配时,即使这是一个很好的答案,但给出它似乎是不正确的。您可以使用
\w
快捷方式输入单词字符。。。。其中包括一个下划线。坦白地说,
\w
是一个可悲的错误,只允许它继续存在,而没有什么实际用途。@Bergi:我更喜欢它,但严格地说,正如Joey所说,它与
[a-zA-Z01-9]
不同,所以我在最后把它作为一个选项。没错,是的。不要认为OP只需要这62个字符,他可能会包括umlauts等来匹配“字母”字符。@Bergi:我也不这么认为,但我不想假设。我提到了umlauts和其他东西,因为这是一个非常好的观点+1。您可以使用单词字符的
\w
快捷方式。。。。其中包括一个下划线。坦白地说,
\w
是一个可悲的错误,只允许它继续存在,而没有什么实际用途。@Bergi:我更喜欢它,但严格地说,正如Joey所说,它与
[a-zA-Z01-9]
不同,所以我在最后把它作为一个选项。没错,是的。不要认为OP只需要这62个字符,他可能会包括umlauts等来匹配“字母”字符。@Bergi:我也不这么认为,但我不想假设。我提到了umlauts和其他东西,因为这是一个非常好的观点+你所说的
[TEXT]
是什么意思?这是否应该一直保持不变,不断重复?或者什么是“文本”的限定词?你能重新表述你的问题吗?我无法理解你的问题…我根据以下回答找到了我需要的表达式:
/^[(a-zA-Z01-9)\s?]{0,10}$/
你所说的
[TEXT]
是什么意思?这是否应该一直保持不变,不断重复?或者什么是“文本”的限定词?你能重新表述你的问题吗?我无法理解您的问题…我根据以下回复找到了我需要的表达式:
/^[(a-zA-Z01-9)\s?]{0,10}$/