タグ付けされた質問 「regex」

正規表現の質問をするときは、使用している特定のプログラミング言語またはツール(Perl、Python、Java、vi、emacs、ac grepなど)のタグを必ず追加してください。

2
Nginxの場所の正規表現はプロキシパスでは機能しません
Nginxでこれら2つのロケーションディレクティブを機能させようとしていますが、Nginxの起動時にエラーが返されます。 location ~ ^/smx/(test|production) { proxy_pass http://localhost:8181/cxf; } location ~ ^/es/(test|production) { proxy_pass http://localhost:9200/; } これは私が受け取っているエラーです: nginx: [emerg] "proxy_pass" cannot have URI part in location given by regular expression, or inside named location, or inside "if" statement, or inside "limit_except" block 誰にも馴染みのある音ですか?私はここで何が欠けていますか?
43 nginx  proxy  regex  proxypass 

2
Nginx:複数のパスの場所の正規表現
私はnginxの設定に2つの場所があります: location ^~ /media/ { proxy_pass http://backend.example.com; } location ^~ /static/ { proxy_pass http://backend.example.com; } これら2つを1つの場所に結合するにはどうすればよいですか? 私がすでにやったこと: 私はこの提案を試みました location ~ ^/(static|media)/ { proxy_pass http://backend.example.com; } しかし、それは私にはうまくいきません。 また、バックエンドを使用しない場合、次の構成が正常に機能しています。 location ~ ^/(static|media)/ { root /home/project_root; } 更新(ログの一部の文字列) xx.xx.xx.xx - - [31/Dec/2013:13:48:18 +0000] "GET /content/11160/ HTTP/1.1" 200 5310 "-" "Mozilla/5.0 (Windows NT 6.2; …
30 nginx  regex 

2
ロケーションパスのNginxワイルドカード/正規表現
私が持っているNginxの設定は、次の.phpように404を投げます: ## Any other attempt to access PHP files returns a 404. location ~* ^.+\.php$ { return 404; } ただし、実行したいサブフォルダーにindex.phpファイルがあります。現在の設定は次のとおりです。 location = /sitename/subpage/index.php { fastcgi_pass phpcgi; #where phpcgi is defined to serve the php files } location = /sitename/subpage2/index.php { fastcgi_pass phpcgi; } location = /sitename/subpage3/index.php { fastcgi_pass phpcgi; } …
22 nginx  regex  wildcard 


5
sedを使用して、文字列の前後の角括弧を削除します
Ubuntu 12.04.1 LTSのbashシェルでこのコマンドを実行しています。私は一度に一気に、[そして両方の]キャラクターを削除しようとしています。つまり、二度目のsedにパイプする必要はありません。 正規表現では角かっこが特別な意味を持っていることを知っているので、バックスラッシュを前に付けてエスケープします。私が期待していた結果は単なる文字列です123が、角括弧が残っているので、理由を知りたいです! ~$ echo '[123]' | sed 's/[\[\]]//' [123]
18 bash  regex  sed 

1
リテラル文字列のAck検索[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新することがありますので、話題のサーバー障害のため。 7年前に閉鎖されました。 htmlタグの一部を検索したいときに物事をエスケープしなければならないのはうんざりです。 エスケープせずに、入力した内容を正確に検索するにはどうすればよいですか? 例えば ack-grep 'console.log(foo' 私は得る: Unmatched ( in regex; marked by <-- HERE in m/console.log( <-- HERE par/
15 grep  regex 

1
量指定子を使用する場合のnginx pcre_compileエラー
エイリアシングに問題があります。ディレクトリの一部として、ファイルの最初の4桁まで追加します。( '../123456.jpg'=>'../123/123456.jpg'および '../12.png'=>'../12/12.png'など) ここに私が持っているものがあります: location ~ ^/i/gallery2/(\d{1,4})(.*)$ { alias /home/web/images/gallery/$1/$1$2; } これは私が得るエラーです: nginx: [emerg] pcre_compile() failed: missing ) in "^/i/gallery2/(\d" これを機能させる方法はありますか?「{1,4}」に問題があるように見えますが、私が望む別の方法はありますか?
14 nginx  regex 

1
secがタイムスタンプを適切に無視するようにする方法
そのように設定されたルールがあります。 /etc/sec/rules.dにあります。 type=SingleWithSuppress ptype=regexp pattern=(\S+) sshd\[\d+\]: PAM \d+ more authentication failures\; logname=.* uid=.* euid=.* tty=ssh ruser=.* rhost=(.*) user=(.*) desc=Login Failure: $0 action=pipe '%s ' /bin/mail -s "login failure $2 to $3@$1" team@team.com window=300 したがって、これがsyslogを介して行われた場合、 Nov 21 11:24:10 servername.server.com sshd[26846]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost= …
13 linux  logging  syslog  regex 

7
行全体を必要とせず、正規表現からの一致のみ
正規表現から一致を取得するだけです。 $ cat myfile.txt | SOMETHING_HERE "/(\w).+/" 出力は、括弧内で一致したもののみである必要があります。 行全体に一致するため、grepを使用できるとは思わないでください。 これを行う方法を教えてください。
13 bash  shell  grep  regex 

3
nginxの書き換えは、URLの末尾にパラメータを追加します
次のパラメーターがURLの最後に追加されるように、リバースプロキシを構成する必要があります。 &locale=de-de これはほとんど機能します: rewrite ^(.*)$ $1&locale=de-de break; ただし、問題は、「&locale = de-de」がまだ存在しない場合、および「?」がある場合にのみ追加する必要があることです。URLに... これを行うための正しい正規表現の定式化に関するヘルプを得ることができますか? 別の質問:これを使用すると、URLの疑問符が表示されないのはなぜ ですか:$ uri?$ args または、$ uri $ is_args $ argsはエンコードされていないURLを変換し、疑問符は%3fとして表示されます。 アイデア? 編集:proxy_passと組み合わせて使用​​しているときにこの動作が存在するようです。簡単な書き直しで、非常にうまく機能します。
13 nginx  regex 

1
PCRE制限とは何ですか?
ModSecurityにはPCRE limits exceededエラーがあります。 次のようなルールを設定することでこれを修正できることを知っています。 SecPcreMatchLimit 150000 SecPcreMatchLimitRecursion 150000 しかし、これらのルールは実際に何をしているのでしょうか?PCRE制限再帰が150,000に設定されているとはどういう意味ですか?これらを非常に高く設定することで、どのセキュリティホールを通過できますか?何をしてないrecursionとはlimitどういう意味ですか? ドキュメントがあることは知っていますが、ドキュメントは実際に何が起こっているかを教えてくれません。ディレクティブをどのように扱うかを単に教えてくれます。


1
Nginxはすべての古いドメインサブドメインを新しいドメインにリダイレクトします
私は非常に長いドメインを持っていたので、それをより短くよりフレンドリーなドメインに変更することにしました。しかし、私は多くのサブドメインを持っているので(実際、私はサブドメインのワイルドカードを持っています)、ドメイン部分のみを変更しながらサブドメインを保持したいと考えました。だから、私は次のルールを作りました: server { listen 80; server_name ~^(\w+)\.olddomain\.com$; rewrite ^ $scheme://$1.doma.in$request_uri? permanent; } このスニペットが問題を解決した他の多くの質問を読みました。しかし、私と一緒に、Nginxは常に.domain.inサブドメインなしでにリダイレクトします。何が欠けていますか?私はregex101に対してregexをテストしましたが、例は正常に動作し、Nginxはリダイレクトできません。

2
CIDR範囲のグレッピング
ときどき、ApacheログファイルからCIDR範囲をgrepしたいと思います。これは、自然境界(/ 8、/ 16、/ 24)に該当する範囲では簡単ですが、/ 17や/ 25などの他の範囲では簡単ではありません。 例: # 192.168.0.0/16: (easy) grep " 192\.168\." access_log # 192.168.128.0/17: (more thought required) grep -E " 192\.168\.(12[89]|1[3-9][0-9]|2[0-5][0-9])\." access_log # 192.168.0.0/17: (more thought required) grep -E " 192\.168\.([0-9]|[0-9][0-9]|1[01][0-9]|12[0-7])\." access_log # 192.168.128.0/18: (straining my brain) grep -E " 192\.168\.(1[2-8][0-9]|19[01])\." access_log これらの正規表現は、などの先行ゼロを含むIPアドレスを無視します192.168.001.001。これは、Apacheログファイルには問題ではありませんが、他のログファイルにある可能性があります。特にプリンターは先行ゼロを好むようです。オプションのゼロを正規表現に追加するのは簡単ですが、全体を少し難しくするだけです。より簡単な方法が必要です。 CIDR範囲に一致するファイルから行を選択する簡単な方法はありますか? ファンシーな正規表現拡張機能は、さまざまなツール(必要に応じて、awkまたはperl必要に応じて1行にしたいなど)と同様に、作業を容易にするものと見なされます。理想的には、私が望むのは次のようなものです grep "[:CIDR 192.168.128.0/18:]" …
10 ip  regex  grep  cidr 

2
正規表現を使用してTARアーカイブからファイルを除外する方法
簡単な質問がありますが、答えを見つけることも解くこともできません。tarアーカイブを作成したいのですが、正規表現を使用していくつかのファイルをアーカイブから除外したいと考えています。 除外するファイルの例は次のとおりです。 68x640X480.jpg 私は運なしでこれを試しました: tar cvf test.tar --exclude=[0-9]+x[0-9X]+\.jpg /data/foto 誰か助けてもらえますか?
10 linux  tar  regex  archive 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.