我有URL字符串,如/questions/12314454/syntax-error。我使用以下正则表达式来捕获nginx地图中的组,以获取一个数字,并将其替换为一个静态字符串,即ID。
"~(.*/)([0-9]{5,})(/.*)$" $1ID$3;但是,只有当我知道该数字将出现在URL的第二条路径或第二捕获组中,并且对URL不起作用时,上面才会起作用,例如:
/questions/syntax-error/73914774/
/73914774/questions/syntax-error/
/73914774/questions/73914774/
etc.我的问题是,如果可能的话,我如何能够使用regex的捕获组自动返回与给定的条件相匹配的组,例如在这种情况下的数字,这样我就可以相应地替换它?
发布于 2022-10-02 05:59:26
如果您只想使用一个捕获组,那么删除其他组,只保留您想要的组。所以在这种情况下:
^.*[^0-9]([0-9]+).*$https://stackoverflow.com/questions/73922389
复制相似问题