标签: regex

nginx 简单的正则表达式位置

如果 url 的前 5 位数字是数字,我需要在 nginx 中设置一个位置参数。

site.com/12345/ or site.com/12345
Run Code Online (Sandbox Code Playgroud)

但我似乎一辈子都无法得到正确的正则表达式。

这些都不起作用。

location ^/([0-9]) { }
location ^/(\d\d\d\d\d) {}
location /(\d\d\d\d\d) {}
Run Code Online (Sandbox Code Playgroud)

nginx regex regular-expressions

10
推荐指数
2
解决办法
3万
查看次数

Nginx 将所有旧域子域重定向到新子域

我有一个很长的域名,所以我决定把它改成一个更短、更友好的域名。但是由于我有很多子域(实际上,我有一个子域通配符),我想保留子域,同时只更改域部分。所以,我制定了以下规则:

server {
  listen 80;
  server_name ~^(\w+)\.olddomain\.com$;

  rewrite ^ $scheme://$1.doma.in$request_uri? permanent;
}
Run Code Online (Sandbox Code Playgroud)

我已经阅读了很多其他问题,这个片段解决了这个问题。但是对我来说,Nginx 总是重定向到.domain.in,没有任何子域。我错过了什么?我已经针对 regex101 测试了正则表达式并且示例工作正常,Nginx 似乎无法重定向它。

nginx regex redirect 301-redirect

10
推荐指数
1
解决办法
2万
查看次数

nginx 规则 - 匹配除一个之外的所有路径

我试图用正则表达式匹配所有以 /newsletter/ 开头的路径,除了一个 (/newsletter/one)。到目前为止我所拥有的:

   location ~ ^/newsletter/(.*)$ {
// configuration here
}
Run Code Online (Sandbox Code Playgroud)

这匹配所有以 /newsletter/ 开头的路径。

如何为路径 /newsletter/one 设置例外?

nginx regex

10
推荐指数
2
解决办法
4万
查看次数

使用 ack-grep 搜索文字 ">\"

我正在寻找字面上具有大于字符(“>”)后跟空格后跟反斜杠字符(“\”)的行,即具有以下内容的行:> \

我认为转义会允许这样做,并且对于比它更大的:

  $ ack-grep "\> "

返回包含“>”的行。

但是当我也尝试逃避反斜杠时,我得到:

  $ ack-grep "\> \\"

ack-grep: 无效的正则表达式 '\> \':
正则表达式 m/\> / 中的尾随 \

grep regex escaping

9
推荐指数
2
解决办法
5182
查看次数

在 Unix shell 中提取子字符串的最简单方法?

在 Unix shell(使用正则表达式)上提取子字符串的最简单方法是什么?

简单的意思:

  • 功能较少
  • 更少的选择
  • 少学习

更新

我意识到正则表达式本身与简单性相冲突,因此我选择了最简单的一种cut作为所选答案。我很抱歉含糊不清的问题。我更改了标题以更准确地表示此 QA 的当前状态。

unix shell regex

9
推荐指数
1
解决办法
14万
查看次数

rsync:如何仅在最顶层目录中排除 Dotfiles?

在 Bash 下使用 执行备份时rsync,我试图排除顶级目录中的所有点文件和隐藏目录,但排除其他目标目录中的那些。例如:

/copyme.c  
/.dontcopythisfile  
/.dontcopythisdirectory/or_its_contents  
/directory/.butcopymetoo
Run Code Online (Sandbox Code Playgroud)

rsync -a --include=".includeme" --exclude=".*" . DEST无法复制子目录中所需的点文件,但诸如此类的变体--exclude="./.*"也失败。

建议?这是否需要过滤规则而不是更简单的规则--exclude

bash rsync regex

8
推荐指数
1
解决办法
8367
查看次数

如何将一些电子邮件路由到 Postfix 中的脚本?

如何将所有定向到 user-*@example.com(即 user-1234@example.com)的电子邮件路由到 Postfix 中的管道命令?这个想法是通过为每个用户分配动态电子邮件别名来创建 craigslist 风格的匿名化。但是,我似乎无法在文档中找到相关信息。

email postfix regex

8
推荐指数
2
解决办法
9438
查看次数

nginx 重写基本 url

我想要根网址

http://www.example.com
Run Code Online (Sandbox Code Playgroud)

重定向到

http://www.example.com/something/else
Run Code Online (Sandbox Code Playgroud)

这是因为一些奇怪的 WP 插件总是在基本 url 上设置一个 cookie,这不允许我缓存它。

我试过这个指令:

location / {
    rewrite  ^  /something/else  break;
}
Run Code Online (Sandbox Code Playgroud)

但是 1) 没有重定向和 2) 页面开始向我的服务器发送 1,000 多个请求。有了这个:

 location / {
        rewrite  ^  http://www.example.com/something/else  break;
    }
Run Code Online (Sandbox Code Playgroud)

Chrome 报告重定向循环。

要使用的正确正则表达式是什么?

rewrite nginx regex

8
推荐指数
1
解决办法
2万
查看次数

通过正则表达式全局着色终端

我知道很多程序都使用颜色——(vim、ack、color-ls 等等)但是仍然有很多情况你会被黑色和白色所困扰。

有一些脚本会根据正则表达式为输出着色(即“使任何匹配 'dog' 的东西变成红色”),但这些脚本必须用管道调用 - 例如:"> cat myfile | color dog red" 这对任何东西都没用交互的。

我正在寻找的是可以连接终端模拟器(或实际执行此操作的终端)并为与给定正则表达式匹配的任何内容着色的东西,而与我当前使用的外壳或程序无关。如果这也适用于 ncurses,那就太棒了。我有太多的单色程序,如果我可以指定一个关键字列表以在它们出现或键入时突出显示/着色,那就太好了。

我使用 Guake 控制台,它可能使用 GNOME 终端,我不知道 GNOME 是否已经有这个功能。

linux console regex color

7
推荐指数
1
解决办法
2220
查看次数

我如何格式化这个正则表达式以便它可以在 fail2ban 中工作?

我刚刚在 CentOS 服务器上安装了 fail2ban 以响应 SSH 蛮力尝试。fail2ban 的 sshd.conf 文件中的默认正则表达式与 audit.log 中的任何条目都不匹配,这是 SSH 似乎记录所有连接尝试的地方,所以我试图添加一个匹配的表达式。

我试图匹配的字符串如下:

type=USER_LOGIN msg=audit(1333630430.185:503332): user pid=30230 uid=0 auid=500
 subj=user_u:system_r:unconfined_t:s0-s0:c0.c1023 msg='acct="root": exe="/usr
/sbin/sshd" (hostname=?, addr=<HOST IP>, terminal=sshd res=failed)'
Run Code Online (Sandbox Code Playgroud)

我试图使用的正则表达式是:

^.*addr=<HOST>, terminal=sshd res=failed.*$
Run Code Online (Sandbox Code Playgroud)

我已经使用 regextester.com 和 regexr 来尝试构建正则表达式。测试人员给了我这个正则表达式的匹配项:^.*addr=\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}, terminal=sshd res=failed.*$但是如果我不在<HOST>正则表达式中使用标签,fail2ban-regex 会抱怨。但是,使用^.*addr=<HOST>, terminal=sshd res=failed.*$给了我 0 个匹配项。

在这一点上,我完全被困住了,我将不胜感激任何帮助。我在尝试使用的正则表达式中做错了什么?

security linux regex fail2ban centos5

7
推荐指数
1
解决办法
2万
查看次数