我希望在正则表达式中匹配以下语句:
/
/dev/shm
/var/lib/snap/hello-world/27
任何想法? 这是我的最后一次尝试:
\/((\w+)|(\/\w+-\w+))+
但看起来,破折号陈述就像是一个单独的部分。
答案 0 :(得分:1)
您可以使用否定字符类来使用此正则表达式:
^\/(?:[^/]*\/)*.*$
RegEx分手:
^
:开始\/
:匹配文字/
(?:[^/]*\/)*
:匹配0个或更多组非斜杠字符串后跟/
: Match anything after last
/`$
:结束答案 1 :(得分:0)
如果你是一个积极的人并且不想使用否定类(如@anubhava所提议的那样),你可以检查这个完全正面的正则表达式:
^(?:(?:\/)|(?:\/\w+)|(?:\/\w+-\w+))+$
答案 2 :(得分:0)