繁体   English   中英

正则表达式匹配多个无序捕获组

[英]regex match multiple unordered capture groups

我在网上看到了一些解释,但是我不完全理解它们。 我有一个无序的uri,也可以有可选参数,调用时它可能会也可能不是uri的一部分。 形式的东西

/getthis?servicename=aservice&userid=123555712345&something=value&anotherthing=novalue

/getthis?servicename=aservice&userid=123555712345

参数servicenameuserid将始终存在,但是something (以及其他参数/​​值)可能会或可能不会添加到uri。

我尝试使用命名组来捕获感兴趣的每个参数部分,并通过执行以下操作来处理出现或未出现的url参数:

^(?<a>servicename=.*)&(?<b>userid=(123(555|666|777|...)\\d+))(?<c>\\&?.*)$

(userid具有需要匹配的数字组,此匹配影响如何修改servicename的值。)

但是我不知道如何确保捕获组以任何顺序出现,它们将被解析。 请有人告诉我该怎么做?

正则表达式可能不是您所处情况的最佳解决方案。 如果您可以使用感兴趣的语言来使用url库,那将是最简单的,但是否则最好将&处的URL分开,然后在=处断开结果参数以获取对。 然后处理参数键/值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM