我想要一个不包含特定字符串的网址,例如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
此规则检查斜杠是否不在最后 的 ^(。* [^ /])$
答案 0 :(得分:1)
尝试Perl
(file.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