慕的地10843
好吧,没有什么能打败 mickmackusa\K结构。但是,对于\K受损的引擎,这是下一个最好的事情(\d(?<=ds_user_id=\d)\d*)(?=;)解释 ( # (1 start), Consume many ID digits \d # First digit of ID (?<= ds_user_id= \d ) # Look behind, assert ID key exists before digit \d* # Optional the rest of the digits ) # (1 end) (?= ; ) # Look ahead, assert a colon exists这是一个动词解决方案(没有 \K),大约快 %30。 ( # (1 start), Consume many ID digits \d # First digit of ID (?: (?<! ds_user_id= \d ) # Look behind, if not ID, \d* # get rest of digits (*SKIP) # Fail, then start after this (?!) | \d* # Rest of ID digits ) ) # (1 end) (?= ; ) # Look ahead, assert a colon exists一些比较基准Regex1: (\d(?:(?<!ds_user_id=\d)\d*(*SKIP)(?!)|\d*))(?=;)Options: < none >Completed iterations: 50 / 50 ( x 1000 )Matches found per iteration: 1Elapsed Time: 0.53 s, 534.47 ms, 534473 µsMatches per sec: 93,550Regex2: (\d(?<=ds_user_id=\d)\d*)(?=;)Options: < none >Completed iterations: 50 / 50 ( x 1000 )Matches found per iteration: 1Elapsed Time: 0.80 s, 796.97 ms, 796971 µsMatches per sec: 62,737Regex3: ds_user_id=\K\d+(?=;)Options: < none >Completed iterations: 50 / 50 ( x 1000 )Matches found per iteration: 1Elapsed Time: 0.21 s, 214.55 ms, 214549 µsMatches per sec: 233,046Regex4: ds_user_id=(\d+)(?=;)Options: < none >Completed iterations: 50 / 50 ( x 1000 )Matches found per iteration: 1Elapsed Time: 0.23 s, 231.23 ms, 231233 µsMatches per sec: 216,232