如何获得具有无与伦比的字符串的网址

时间:2013-03-22 10:21:32

标签: regex .htaccess mod-rewrite

我想要一个不包含特定字符串的网址,例如admin,并且没有尾部斜杠(/)

例如,以下是包含子字符串 admin

的网址
  1. http://www.domain.com/admin/abc/def
  2. http://www.domain.com/admin/
  3. http://www.domain.com/admin
  4. http://www.domain.com/slug-1/
  5. http://www.domain.com/slug-1/slug-2/

与正则表达式不匹配。

以下是应该匹配的URL的一些示例:

 1.http://www.domain.com/slug-1
 2.http://www.domain.com/slug-1/slug-2
 3.http://www.domain.com/slug-slug1/slug-2/slug-3

此规则检查斜杠是否不在最后         的 ^(。* [^ /])$

3 个答案:

答案 0 :(得分:1)

尝试Perlfile.txt包含您的网址,每行一个):

# Regex: (admin|.*\/$) with negation
perl -ne "print unless /(admin|.*\/$)/" file.txt

# Regex: ^((?!admin).)*((?!\/).)$ without negation.
perl -ne 'print if /^((?!admin).)*((?!\/).)$/' file.txt

输出:

http://www.domain.com/slug-1
http://www.domain.com/slug-1/slug-2
http://www.domain.com/slug-slug1/slug-2/slug-3

答案 1 :(得分:0)

如果你使用Unix / Linux:

cat yourfile | grep -Ev "/admin" | grep -Ev "/$"

答案 2 :(得分:-1)

你可以这样做

Cat FileName|grep -v admin