Regular expression / (? < = (- sharp\ S*)) &? menu= [^ &] * / error reporting problems on some computers? Look forward to the boss's answer.

problem description

there is such a requirement in development:
get the string -sharpmenu=xxxx from links such as f/personal_center.html?pc=true-sharpmenu=myShopList . Request:
1. -sharp must be followed by menu=xxx to get
2. Get menu=xxx this mode, and the other parameters spliced by & do not get

the environmental background of the problems and what methods you have tried

according to the above requirements, I wrote / (? < = (- sharp\ S*)) &? menu= [^ &] * / , which can be used on this machine and on multiple computers, but some individual computers cannot recognize and correct the regular expression and report an error showing "invalid regular expression". This part of the computer changes the ? from (? < = (- sharp\ S*)) to \? and will not report an error, but the function of the rule will change after this modification. So I want to ask the boss what kind of problem will lead to this situation?

ps: tested with all the major browsers on the computer in question and reported an error.

related codes

Test case: f/personal_center.html?pc=true-sharpmenu=myShopList
regular expression: / (? < = (- sharp\ S*)) &? menu= [^ &] * /

look forward to the boss"s answer

1. What is the problem that causes this situation?
2. Is it the regularity itself?
3. If it is a regular problem, how to modify it?

Feb.03,2022

js does not support negative zero-width assertions, only positive zero-width assertions. That is, js does not support (? < exp) but supports (?! exp)
if you only need to get -sharpmenu directly after menu, the
/-sharpmenu= ([^ &] +) / grouping 1 is the matching value

.

may be able to support
https://github.com/tc39/propo.

next year.
Menu