Expressの正規表現 -- javascript フィールド と regex フィールド と express フィールド 関連 問題

Regex in express












0
vote

問題

日本語

私は正規表現が本当に良くない、そして私はExpress.jsのURLと一致するようにそれを使おうとしています。

だからパラメータには2つのフォーマットがあります

  1. ABC(すべて大文字)

  2. ABC_CBA(2つの単語の間にアンダースコアを使用する、すべて大文字で使用する)

  3. 今このコードを持っています

    <事前> <コード> server.patch(/^/a_id/([A-Z]w*_[A-Z]w*)/b_id/([1-9]d*)/?$/, req.body);

    ケース2を扱うことができ、私はパート2をオプションにしようとします。

    <事前> <コード> server.patch(/^/a_id/([A-Z]w*(_[A-Z]w*)?)/b_id/([1-9]d*)/?$/, req.body);

    そのために括弧を追加して追加しますか?最後に指定することはオプションです。しかし、私がこのURL /a_id/ABC_CBA/b_id/1 にパッチ要求を作成した場合。

    req.paramsは<コード> { '0': 'ABC_CBA', '1': '_CBA', '2': '1' }

    になります

    最初のパラメータのために2回一致する理由を知りません。何か案が?ありがとう!

英語

I am not really good at Regex and I am trying to use it to match the url in express.js.

So the params will have two formats

  1. ABC (All uppercase letter)

  2. ABC_CBA (Use an underscore between two words, also all in uppercase)

Now I have this code

server.patch(/^/a_id/([A-Z]w*_[A-Z]w*)/b_id/([1-9]d*)/?$/,         req.body); 

With this I can handle case 2, and I try to make part 2 optional.

server.patch(/^/a_id/([A-Z]w*(_[A-Z]w*)?)/b_id/([1-9]d*)/?$/,         req.body); 

Just add a parentheses for that and add a ? at the end to specify this is optional. But now if I made a patch request to this url /a_id/ABC_CBA/b_id/1.

The req.params becomes { '0': 'ABC_CBA', '1': '_CBA', '2': '1' }

Don't know why it matches twice for the first parameter. Any idea? Thanks!

</div
        
         
         

回答リスト


関連する質問

5  Express.jsハンドルバー、静的ファイルの取得ディレクトリURLに従って変更を保存  ( Express js handlebars get static files directory keep changes according to url ) 
私は表現するのが新しいです。基本的に私の質問はとても簡単です。 1つのパブリックディレクトリから/ CSS JavaScriptのようなファイルを提供したい。 Layout.HBS <事前> <コード> <html> <head> <...

16  JS_PARSE_ERRORのソースを見つける方法は?  ( How to find source of js parse error ) 
私はExpressアプリを実行しています、そして私はjs_parse_errorを得ています。なぜ把握することはできません。私は基本的に私が書いたすべての新しいコードをコメントしましたが、それでも私はまだエラーを得ています。 JavaScript Lineが私...

2  モバイルユーザーに異なるコンテンツを作成しますか?  ( Serve different content to mobile users ) 
私はMy NodeJS / Expressアプリをモバイルユーザーによってのみ使用されることを意図しています。デスクストップユーザーはまったく異なるコンテンツを受け取ります。クライアントがモバイルデバイス上にあるかどうかを検出する方法これを行うあらゆる維持され...

7  socket.io:任意の時点でクライアントSessionIDを取得します  ( Socket io get client sessionid at any point ) 
ユーザーが接続したときにクライアントSessionIDを取得する方法を知っています。 しかし、クライアントが何かをクリックしたときにいつでもそれを取得したいのですが、誰がクリックしたのか、彼らのSessionIDが何であるかを知りたいのです。 <コード> 9...

0  ノードJSでSencha CMDを生成したextjs 6.2アプリを実行できませんでした  ( Failed to run sencha cmd generated extjs 6 2 app on node js ) 
Node.jsでSencha CMDを使用して生成された既存のextjs 6.2アプリを実行しようとしています。以下はmy app.js:です <事前> <コード> const express = require('express'); const app ...

37  Node.js:HTTP要求と応答を偽造しました  ( Node js mock http request and response ) 
単体テストミドルウェアのHTTP要求と応答オブジェクトをモックする便利な方法はありますか? ...

1  Expressを使用したNodeJSで認証後のフォルダへのアクセスを許可する方法  ( How to grant access to a folder after authentication in nodejs with express ) 
NodeJSに新しく、私は今の間かなりの解決策を探していて、残念ながら私の特定の問題を解決しませんでした。または少なくとも私はそれを手に入れないでください。 私のNodeJSプロジェクトでは、私のHTMLとJSファイルがすべて保存されているパブリックフォルダ...

9  express.jsルート  ( Express js routes explanation ) 
私は express.js < / a>ソースコード、それがrouteパラメータという名前のマップ方法を req.params プロパティにマッピングする方法を見つける。 express.js では、名前付きパラメータを使用してルートを定義でき、オプショ...

2  MongoDB AtlasとMongooseが空の配列を返します  ( Mongoose with mongodb atlas return empty array ) 
MongoDB AtlasとMongooseでExpress.jsを接続しようとしていますが、サーバーは常に空の配列 '[]'を返します。ローカルデータベースをロードすると、すべてがうまく機能します(ローカルとMongoDB ATLASは同じ値を持ちます) ...

4  ヨーマン1.0のExpressとの統合  ( Integration of yeoman 1 0 with express ) 
私はヨーマンと一緒に建設したAngularJS Webアプリを持っています。最後の部分は私が立ち往生しているものです。私は基本的にGruntとBowerを使っていますが、残念ながら静的サーバーからすべてのファイルを提供しています。 私はyeoman 1.0がエ...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有