重复组正则expression式的urlpath,node.js
我正在试图提取正则expression式与正则expression式参数。
所以,例如:
www.test.com/something/:var/else/:var2
我正在尝试使用这个正则expression式:
.*\/?([:]+\w+)+
但我只得到最后匹配的组。
有谁知道如何匹配两个:var
和:var2
。
第一个问题是: .*
是贪婪的 ,因此会绕过所有的匹配,直到find最后一个。 这意味着第一个:var
被绕过。
然而,当你正在search可变数量的捕获组时 (感谢@MichaelTang),我推荐使用两个正则expression式。 首先,使用
^(?:.*?\/?\:\w+)+$
检测哪些行包含冒号元素 …
Debuggex演示
…然后重复search该行,只需简单地
\/:(\w+)
这将文本后冒号放置到捕获组1中。
Debuggex演示
以下是你可以如何匹配他们两个:
www.test.com/something/:var/else/:var2'.match(/\:(\w+)/g)
[":var", ":var2"]
- 我有一个套接字IO连接问题
- 正则expression式不匹配以字符e开始的行
- 如何parsingnode.js,express.js,mysql2中“rows”对象的数据
- Supervisor节点.js“程序节点应用程序退出代码0”错误
- 在Angular Universal应用程序中从ExpressJS获取vaues
- 如何调整while循环中的variables作用域以匹配CoffeeScript中的所有正则expression式?
- 快速会议不会一直持续到页面
- 将整个用户放在一个会话中是否安全,而仅仅是node / express的用户ID?
- node.js服务器不接收所有的二进制数据(或客户端不发送所有的二进制数据)