Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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 正则表达式仅包含2个连续的特定字符_Regex_Abstraction - Fatal编程技术网

Regex 正则表达式仅包含2个连续的特定字符

Regex 正则表达式仅包含2个连续的特定字符,regex,abstraction,Regex,Abstraction,我正在尝试为抽象文件系统构建一个正则表达式。它应当: 以字母[a-zA-Z]、“/”或“.”开头 只允许连续出现一次“/” 仅允许连续出现两次“.” 到目前为止,我已经做到了这一点(不允许使用3’’,但在只键入一个时有效。非常感谢您的任何输入。我尝试了第二组的正面和负面外观,但仍然存在相同的问题 (?!.*\/{2})(?!.*\.{3})^[A-Za-z\/\.]*$ 我的Regex101链接: 我添加了一个负前瞻,它匹配一个由两个非点字符包围的点 /(?!(.*[^.])?\.([^.

我正在尝试为抽象文件系统构建一个正则表达式。它应当:

  • 以字母[a-zA-Z]、“/”或“.”开头
  • 只允许连续出现一次“/”
  • 仅允许连续出现两次“.”
到目前为止,我已经做到了这一点(不允许使用3’’,但在只键入一个时有效。非常感谢您的任何输入。我尝试了第二组的正面和负面外观,但仍然存在相同的问题

(?!.*\/{2})(?!.*\.{3})^[A-Za-z\/\.]*$
我的Regex101链接:


我添加了一个负前瞻,它匹配一个由两个非点字符包围的点

/(?!(.*[^.])?\.([^.].*)?$)(?!.*\/{2})(?!.*\.{3})^[A-Za-z\/\.]*$/
 ^^^^^^^^^^^^^^^^^^^^^^^^^
    (.*[^.])?              -> some arbitrary characters and at least one not-dot
             \.            -> the dot
               ([^.].*)?$  -> one not-dot and some arbitrary characters
如果单个点位于字符串的开头或结尾,则点之前和之后的两个块都是可选的


对它进行测试。

我添加了一个负数前瞻,它匹配由两个非点字符包围的点

/(?!(.*[^.])?\.([^.].*)?$)(?!.*\/{2})(?!.*\.{3})^[A-Za-z\/\.]*$/
 ^^^^^^^^^^^^^^^^^^^^^^^^^
    (.*[^.])?              -> some arbitrary characters and at least one not-dot
             \.            -> the dot
               ([^.].*)?$  -> one not-dot and some arbitrary characters
如果单个点位于字符串的开头或结尾,则点之前和之后的两个块都是可选的


测试它。

为什么你要用一个单数正则表达式来表达所有条件,而不是为每个规则构建一个正则表达式?在单独的测试中不允许
/^[^/.a-z]/i
/[/]{2,}/
/.]{3,}/
如何?好的建议!我可以做一个preg_匹配()在php中,我想了很多次。我没有想到。谢谢你为什么试图用一个单一的正则表达式来表达所有条件,而不是为每个规则构建一个正则表达式?在单独的测试中不允许
/^[^/.a-z]/I
/[/]{2,}/
/[.]{3,}/
呢?好建议!我可以做一个preg_匹配()在php中,我想用多少次就用多少次。我没有想到。谢谢