說到更高級或冗長的正則表達式老實說,我有點失落。我有一個查詢字符串,我需要匹配並獲取值和查詢參數的名稱。對我來說,困難在於值可能是不同的值,目前只有4種不同的查詢參數。下面是一個例子查詢字符串:不同值的JavaScript /正則表達式參數
foo title:"Foo Bar" -title:other author: (mitchell* OR mike) from:2012-01-01 to: 2012-06-01
的查詢參數是標題,作者,從而至。三個不同的值在雙引號「Foo Bar」中,用括號(mitchell *或mike)或單個值2012-01-01或其他值包圍。注意冒號後面還有一個可選空格。在每個參數名稱前面還可以有一個+或 - - 標題。標題和作者值可以具有通配符。
我目前不感興趣的解析像我不需要解析值(米切爾*還是邁克)知道里面有什麼,只是想顯示其作爲一個整體。
我怎樣才能用正則表達式解析這個字符串來獲取與它一起的參數名稱的值?
我能對付像結果:
['title:"Foo Bar"', '-title:other', 'author: (mitchell* OR mike)', 'from:2012-01-01', 'to:2012-06-01']
我並不需要擔心不開頭有一個PARAM名稱,如foo的(可在字符串中的任何地方)的值,只需要獲取參數名稱和值。
我可以做任何我需要做的事來完成我所需要的。如果這意味着先解析某些東西然後再做一些很好的事情。 從來沒有說過它是一個請求字符串,我使用的術語可能會讓你覺得它是像參數,但它是一個字符串被饋入到搜索服務器,但我想解析這個用於UI的「查詢字符串」。 – 2012-08-06 16:31:50