Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.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 - Fatal编程技术网

Regex 正则表达式模式输入描述

Regex 正则表达式模式输入描述,regex,Regex,伙计们,我在做一个正则表达式,我有一个输入文本,可以接受1到3个单词,每个单词最多15个单词。它工作得很好,但我想改进它。这是我的 模式: ^[A-Za-z]*[\s]{0,1}[A-Za-z\d\-_]{0,15}[\s]{0,15}[A-Za-z\d\-_]{0,15}$ 样本(正确)输入: 并且已经在中国进行了测试 我希望至少迭代一次,最多迭代3次,如示例中所示。我知道{1,3},但如何在我的模式中使用它?我试过这个,但不起作用: ^[A-Za-z]*[\s]{0,1}[A-Za-z]*

伙计们,我在做一个正则表达式,我有一个输入文本,可以接受1到3个单词,每个单词最多15个单词。它工作得很好,但我想改进它。这是我的 模式:

^[A-Za-z]*[\s]{0,1}[A-Za-z\d\-_]{0,15}[\s]{0,15}[A-Za-z\d\-_]{0,15}$
样本(正确)输入:

并且已经在中国进行了测试

我希望至少迭代一次,最多迭代3次,如示例中所示。我知道
{1,3}
,但如何在我的模式中使用它?我试过这个,但不起作用:

^[A-Za-z]*[\s]{0,1}[A-Za-z]*{1,3}$
任何经过验证和测试的建议都是不错的选择。
不要担心性能(但如果您做得更好,请感谢)。我只需要迭代部分。

每行有三个单词,每个单词的最大长度为15

正则表达式:
^(?[A-Za-z]{1,15})(?:[A-Za-z]{1,15}){0,2}$

说明:

  • (?:[A-Za-z]{1,15})
    匹配第一个单词

  • (?:[A-Za-z]{1,15}){0,2}
    匹配最后两个单词,没有尾随空格


试试这个;它对我有用

^(\w{1,15}\s+){0,2}\w{1,15}$
  • 第一组
    (\w{1,15}\s+{0,2}
    用于捕获0或2个单词及其空格 长度在1到15之间
  • 第二部分是
    \w{1,15}
    ,用于选择而不捕获最后一个单词
  • ^
    指定开始,并
    $
    指定结束
听起来不太清楚,您的意思是要尽可能缩短图案?喜欢这也将匹配“无效”字符串(那些以
\uuu
-
,数字开头的字符串…)。哇,非常感谢。你就是那个人。“是的,这正是我所需要的。”努布在他的回答中给出了同样的模式。哦,现在编辑好了。请仔细检查正则表达式是否是您真正需要的。顺便说一句,尽可能短的时间并不总是最精确/有效的时间。顺便说一句,您可以用
\w
替换
[A-Za-z\d\u]
。我认为,整个正则表达式可以写成
^[A-Za-z]+(?:\s[\w-]{0,15}){1,2}$
。我不知道?:有些东西不见了,谢谢。我不是正则表达式方面的专家。@WiktorStribiżew:是的。Sebastian指出,可选空格一次可以匹配超过15个字符。很抱歉,但是你要匹配
abcdefghjjklmnopqrstuvwxyz
@SebastianProske:现在怎么样?根据OPs描述和现有的正则表达式,我会想出
/^[a-z]{1,15}(?:\s+[\w-]{1,15}{0,2}$/I
谢谢你。如果我使用hello,它不起作用,我只是将{1,2}改为{0,2}。这个论坛太棒了。感谢您的及时回复。我忘了将
3
编辑为
2
。你看过演示了吗?看起来很好用。你试过什么绳子?
^(\w{1,15}\s+){0,2}\w{1,15}$