0

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

例如以下是具有子字符串admin的 URL

  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

此规则检查斜线是否不在末尾 ^(.*[^/])$

4

3 回答 3

1

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

# 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
于 2013-03-22T10:24:27.917 回答
0

如果您使用 Unix/Linux:

cat yourfile | grep -Ev "/admin" | grep -Ev "/$"
于 2013-03-22T10:54:38.427 回答
-1

你可以这样做

Cat FileName|grep -v admin
于 2013-03-22T12:53:15.933 回答