Regex 搜索标题的正则表达式
我正在寻找使用正则表达式来挑选雅虎搜索。也就是说,我在Yahoo上搜索了Regex 搜索标题的正则表达式,regex,search,clojure,Regex,Search,Clojure,我正在寻找使用正则表达式来挑选雅虎搜索。也就是说,我在Yahoo上搜索了Clojure tutorial,希望在其中捕获Clojure tutorial这个词 https://search.yahoo.com/search;_ylt=ApnVZAn6KsJdNlo0rRPgg4qbvZx4?p=clojure+tutorial&toggle=1&cop=mss&ei=UTF-8&fr=yfp-t-176 我相信函数re-find将帮助我选择目标,但我不确定如何制定正则表达式。问题在于,搜索结果并
Clojure tutorial
,希望在其中捕获Clojure tutorial这个词
https://search.yahoo.com/search;_ylt=ApnVZAn6KsJdNlo0rRPgg4qbvZx4?p=clojure+tutorial&toggle=1&cop=mss&ei=UTF-8&fr=yfp-t-176
我相信函数re-find将帮助我选择目标,但我不确定如何制定正则表达式。问题在于,搜索结果并不总是位于?p=和与符号之间
例如,搜索clojure教程pdf
https://search.yahoo.com/search;_ylt=A0LEVzoK3gtTQWAA.K5XNyoA_2.2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 Nazyeb3jpz2LUA3NLYXJJAC55YWHVBY5JB20ECG9ZAZEECHFZDHIDY2XVANVYZSB0DxRvCbCbCbCbCbCbHzZDzHzHzHzSazHzAzHzHzSazHzAzHzHzHzHzHzHzHzHzHzHzHzAzHzHzAzHzHzHzHzAzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzHzH
它捕获了搜索&p=和一个符号&
总之,我正在寻找一个正则表达式,它捕获可以获取所有字符值的搜索,并且可以在[?&]p=…&]之间找到
(?:\?|\&)p=(.+?)\&
自由空间:
(?:\?|\&) //A literal question mark OR ampersand
p= //Followed by "p="
(.+?) //Followed by at-least one of [anything but an ampersand]
\& //Followed by an ampersand.
捕获组$1包含搜索词
+?
是非贪婪的,因此它将上升到下一个符号AND。如果您将其更改为+
——这不是您想要做的——它将贪婪地通过字符串中的最后一个符号捕获所有内容
一个可行的替代方案是:
(?:\?|\&)p=([^&]+)