1
如果找不到匹配项,我遇到了正则表达式模式的问题。灾难性的回溯问题
我用的正则表达式是:
^(?:".*?",){4}"(?:.*?)Cookie:\s(?:.*?)Routing=(.*?);
测试数据我使用的喜欢的东西:
"a","b","c","d","POST: /portal/start.asp HTTP/1.1\r\nHost: myhost\r\nCookie: w1n0_er=xxxx; routxing=yyyy;"x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x","x",
当“路由”参数被发现,一切运作良好。但是,如果通过排除测试数据找不到路由参数,那么正则表达式将继续搜索。我发现其他帖子发现这是由灾难性的回溯造成的,但我似乎无法找到避免它的方法。
开始的一个好方法是将''。*?“'改为'”[^“] *”' –
你真的想要搜索什么? –
既然你已经知道在哪里搜索,第一个是第五个引用的字符串,在检查它是否包含你想要的内容之后 –