【发布时间】:2016-06-03 21:06:15
【问题描述】:
我正在尝试为抽象文件系统构建正则表达式。它应该:
- 以字母 [a-zA-Z]、'/' 或 '.' 开头
- 只允许连续出现一次“/”
- 只允许连续出现两次 '.'
这是我到目前为止所拥有的(不允许使用 3 '.',但只输入一个时可以使用。非常感谢任何输入。我尝试了第二组的正负前瞻,但它仍然有同样的问题。
(?!.*\/{2})(?!.*\.{3})^[A-Za-z\/\.]*$
我的 Regex101 链接:
【问题讨论】:
-
为什么你试图用一个单一的正则表达式来表达所有的条件,而不是为每个规则构建一个正则表达式?在单独的测试中禁止
/^[^/.a-z]/i、/[/]{2,}/和/[.]{3,}/怎么样? -
好建议!我可以根据需要在 php 中多次执行 preg_match()。我没有想到。谢谢
标签: regex abstraction