正则表达式获取API表单URL的版本

时间:2017-05-10 14:17:57

标签: javascript node.js regex

有一些API有一些版本。即     1. / v1 / order / create     2. / order / v2 / create

他们是常见的中间件要调用。在中间我需要API版本(即v1或v2)来执行特定版本的某些特定任务。我尝试使用下面的代码,但没有使用第二种类型的网址。

        // Result of the compilation.
        while (resultArea.getText() == null || resultArea.getText().startsWith("exe")) {
            System.out.println(resultArea.getText());
            Thread.sleep(500);
        }
        System.out.println();
        System.out.println(resultArea.getText());

请建议。感谢

2 个答案:

答案 0 :(得分:0)

不要从网址的开头搜索。尝试类似:

var match = req.url.match(/\/v([0-9]+)\//);
var version = 0;
if (match) {
    version = match[1];
}
console.log(version); // outputs version number

答案 1 :(得分:0)

您可以使用:

正则表达式:/\/(v\d+)\//

  • (v\d+)允许捕获v后跟多个整数,如v1,v2,v123,v0等。
  • 如果您还想允许十进制版本,请使用/\/(v\d+.?\d*)\//。例如:v1.1,v2.0等

var url = "/v1/order/create"
var pieces = url.match(/\/(v\d+)\//);
console.log(pieces[1]);
// Output is v1