普通网友 2016-06-28 14:00
浏览 90
已采纳

修改单个RegEx以匹配字符串中的中间项

This RegEx : {=tokenstring[^{}]*(?:{[^{}]*}[^{}]*)*}/g matches this string properly:

{=tokenstring?param1=11&param2={token-identifier}&param3={token-child-identifier}&param4=20}

(That string is a token which is being used in my website. It's value changes dynamically based on the provided request data in the content pages.)

I would like to add one more condition to the RegEx. For example "param3", to find if it exists or not in the string.

I know this new RegEx: /param3=([^&])/ will get the word "param3" from the string but how to fit that new RegEx into the original RegEx?

  • 写回答

2条回答 默认 最新

  • dst67283 2016-06-28 15:56
    关注

    A tentative experiment with an online debugger. Before:

    {=tokenstring[^{}]*(?:{[^{}]*}[^{}]*)*}
    

    Regular expression visualization

    Debuggex Demo "before"

    After:

    {=tokenstring[^{}]*(?:{[^{}]*}[^{}]*)*param3=(?:{[^{}]*}[^{}]*)*}
    

    Regular expression visualization

    Debuggex Demo "after"

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?