我在这里有这个片段
agent=Mozilla/5.0 (Windows NT 6.0; WOW64; Trident/6.0; rv:11.0) like Gecko custom1=custom1 custom2=custom2 more=otherstuffi dont care about etc
我想要的是与此处匹配的正则表达式
agent=Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
我试过这个:
agent=(.*?=)
这给了我:
agent=Mozilla/5.0 (Windows NT 6.0; WOW64; Trident/6.0; rv:11.0) like Gecko custom1=
但是有时候custom1可能会更少或更多的字符..所以我不希望它具体我想在Gecko和自定义之间的空间之前获取所有内容但是如果浏览器/操作系统不准确它可能不会是壁虎。所以我觉得最好的方法是使用next =(在custom1之后)因为它总是在那里。
因此,如果我可以从代理程序中获取custom1 =然后仅匹配custom1之前的空格之前的内容,则可以正常工作。
还是我让这个过于复杂?
感谢。
答案 0 :(得分:1)
答案 1 :(得分:1)
您可以使用此正则表达式:
agent=(.+?)\s+[^=\s]+=
并在捕获的组#1中找到匹配的文本
RegEx分手:
agent=
:匹配文字agent=
(.+?)
:匹配1个或多个字符(懒惰)\s+
:匹配1+空格[^=\s]+=
:匹配1个非空格,非=
字符后跟=