我有以下的robots.txt爲例 -正則表達式解析的robots.txt
User-agent: googlebot User-agent: slurp User-agent: msnbot User-agent: teoma User-agent: W3C-checklink User-agent: WDG_SiteValidator Disallow:/ Disallow: /js/ Disallow: /Web_References/ Disallow: /webresource.axd Disallow: /scriptresource.axd User-agent: Mediapartners-Google* Disallow: User-agent: * Disallow: /webresource.axd Disallow: /scriptresource.axd Disallow: /js/ Disallow: /Web_References/
我可能會問太多的正則表達式,但我想寫這將返回匹配的表達式下面的分組和有序的方式 -
Matches - [0] - [UserAgents] - "googlebot" - "slurp" - "msnbot" - "teoma" - "W3C-checklink" - "WDG_SiteValidator" - [Routes] - [0] - [Permission] "Allow" - [Url] "/" - [1] - [Permission] "Disallow" - [Url] "/js/" - [2] - [Permission] "Disallow" - [Url] "/Web_References/" ... etc ...
我寫個人則表達式匹配的文檔的元素,但我不能讓他們當拼湊在一起工作。也許有人可以指出我要去哪裏錯了?
模式
用戶代理:(?:user-agent:\s*)(?<UserAgent>[a-z_0-9-*]*)
權限:(?<Permission>(?:allow|disallow))(?:\s*:\s*)(?<Url>[/0-9_a-z.]*)
我嘗試
((?<UserAgents>(?:user-agent:\s*)(?<UserAgent>[a-z_0-9-*]*))+(?<Routes>(?<Permission>(?:allow|disallow))(?:\s*:\s*)(?<Url>[/0-9_a-z.]*))+)+
通知你,我用防爆布萊索調試這些腳本,並具有下列檢查 - 多行,編譯和忽略大小寫
什麼樣的比賽*你*得到? – Alex
@亞瑟:我沒有得到任何比賽。 – jameskind
是不是有一個原因,你試圖用一個大的正則表達式來做到這一點,而不是單獨使用你的單獨的正則表達式? (或者甚至使用正則表達式呢?)將它們全部粉碎並不會讓你的程序更好,它只會讓事情變得不可讀,代碼更加蛇紋石。 – Amber