Articles of 正则expression式

如何使用sed来更改匹配行中的最后一个字符

如何使用sed更改匹配行中的最后一个字符? 例如:/ etc / network / interfaces auto eth0 iface eth0 inet static address 150.0.3.50 netmask 255.255.255.0 network 150.0.3.0 gateway 150.0.3.6 auto eth….. 我怎样才能改变网关的主机八位字节? 我有很多机器来做这件事,每个人都在不同的networking,但网关的八位字节总是相同的。

nginx正则expression式的位置不匹配

我有下面的位置,这是一个更大的conf文件。 作为参考,这工作: location = /scripts/news/admin/index.js { alias /my/file/path/news/scripts/admin/index.js; } 但是,这不能拿起正则expression式(作为一个testing我强制文件path,但它仍然没有使用): location ^~ ^/scripts/([az]+)/([az]+)/([az]+).js$ { alias /my/file/path/news/scripts/admin/index.js; # for testing, use direct file location break; # ensuring nothing else happens, for testing #alias /my/file/path/$1/scripts/$2/$3.js; # actual regex } 我在我的正则expression式中明显缺less一些明显的东西吗? 我试过(.*)和~*但是没有任何区别。 正在使用的url是: http://example.com/scripts/news/admin/index.js 在我的日志中,我看到: 2015/03/21 20:43:28 [debug] 16440#0: *183689 test location: "^/scripts/(\w+)/(\w+)\.js$" 2015/03/21 20:43:28 [debug] 16440#0: *183689 […]

使用负RegEx的Apache HTTP LocationMatchredirect

我正在尝试在我的系统上使用Apache HTTP Server的mod_alias和core创build一个Redirect : # cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.1 (Maipo) # rpm -q httpd httpd-2.4.6-31.el7_1.1.x86_64 # 要求是redirect所有的请求,除了请求到/server-status # cat /etc/httpd/conf.d/_default.conf <VirtualHost *:80> ServerName _default_ <LocationMatch "^/!(server-status)(.*)?"> Redirect / http://X/ </LocationMatch> </VirtualHost> # 我相信我的问题是在正则expression式的地方,因为无论我打哪个URL,我都会得到404。

fail2ban是否仅仅因为端口而不能匹配这些行?

我希望fail2ban参与这些行,并阻止包含的示例IP地址: [Tue Dec 08 12:17:13.622175 2015] [:error] [pid 30390] [client 62.210.88.201:38139] script '/var/www/html/httptest.php' not found or unable to stat [Tue Dec 08 13:22:25.363614 2015] [:error] [pid 30386] [client 62.210.88.201:54141] script '/var/www/html/httptest.php' not found or unable to stat [Tue Dec 08 14:36:01.790899 2015] [:error] [pid 28831] [client 62.210.88.201:42431] script '/var/www/html/httptest.php' not found or unable to stat […]

Fail2Ban正则expression式匹配这些行?

我一直试图让fail2ban使用Xeams垃圾邮件filter。 但是,我无法弄清楚我应该使用什么可能的正则expression式匹配日志。 日志以这种格式。 61.240.144.65 1451702136946 5 185.130.5.240 1451702444872 5 192.237.159.38 1451705774912 5 185.130.5.240 1451712868825 5 日志的每个部分都被一个Tab(我认为)分开,第一部分是主机IP。 我不知道其他部分是做什么的。 我已经尝试了以下正则expression式,但根据fail2ban-regex它不起作用。 <HOST> 1451.* .* 以及: <HOST> .* .* 我真的不知道如何去匹配这些日志。

Exim:将收件人地址与某些正则expression式和有条件的电子邮件地址进行匹配

我需要允许我的客户使用电子邮件,格式为[email protected] ,其中用户名部分是UUID。 这些电子邮件应该发送到某个(单个)电子邮件地址(例如 – [email protected] ),稍后再进行处理,并使用收件人地址区分用户。 一般来说,将这些UUID写入/etc/mail/aliases是不可能的,因为没有办法事先知道这些UUID的列表。 如何configuration路由器的系统别名或本地用户接受这些电子邮件地址?

Exchange 2013 RegEx传输规则

我正在寻找基于AD属性创build传出电子邮件的一些传输规则。 例如。 电话:123-456-7890 实际插入的代码看起来像“Phone:%% PhoneNumber %%”,从AD中检索电话号码。 这部分工作正常。 设置我的运输规则,我包含以下条件: 但是,这种情况不起作用。 我已经试过了,没有单引号,没有前面的^。 真的,我只想要确保%% PhoneNumber %%不是空的规则。 任何人都知道如何使Exchange做到这一点?

正则expression式不能在dnsmasq config中工作

我在CentOS上安装了dnsmasq 2.66版。 根据发行说明,dnsmasq支持从2.60开始的正则expression式 我有以下在我的configuration文件: address=/:clients[0-9]*\.google\.com/192.168.10.2 这个单独的条目应该解决匹配clients.google.com和clients3.google.com地址为192.168.10.2的url的地址,但是不是。 请为此提出解决scheme。

在NGINX中重写错误的URL到.html

前一段时间,我写了一个错误,Google把它们caching在旧的站点地图中。 这在WMT中产生了大量的404错误,我需要用一个可靠的重写进行清理。 我目前使用地图模块,并单独重写每个产品。 例: /product1html/ /product1.html; 在这里粗体的错误: http:// domain / productname html / 这里的错误是我最初忘了。 在html之前,并在最后有一个/。 我怎样才能重写url为http://domain/productname.html每个url看起来像/productnamehtml/ 。

sed中的正则expression式:匹配前面或后面没有特定其他字符的字符

假设使用分号作为字段终止符的格式错误的csv代码片段: abc;d" "e"f;"ijk" 根据RFC4180,字段中的一个dquote应该用两个dquotes来表示: abc;d"" ""e""f;"ijk" 我试图通过一个sed脚本来实现这个匹配任何没有前或后跟字段终止符(here ; )的dquote: echo 'abc;d" "e"f;"ijk"' | sed -e 's/\([^;]\)"\([^;]\)/\1""\2/g' 结果几乎是好的: abc;d"" "e""f;"ijk" 除非e之前的双引号不匹配,因此不能重复。 任何人都可以解释为什么这是行不通的,因为之前和之后没有分号。