2016-10-26 101 views
-5

任何人都可以幫我解碼這個RegExp嗎?正則表達式理解

/^(.+)\s{1}\((.*)\)$/ 
+1

https://regex101.com –

+0

這可能與Ruby無關,因爲regex是一個DSL。 – Carcigenicate

+0

@Carcigenicate:的確如此。 –

回答

1

//被簡單地佔位符的regexp,^(.+)\s{1}\((.*)\)$保持

^表示字符串的開始,$是字符串的末尾,(.+)\s{1}\((.*)\)保持

(.+)是項目的第一組中,它匹配任何字符(如果沒有字符+將失敗,因爲它意味着「給我1個或更多字符」),\s{1}\((.*)\)仍然是

\s{1}的意思是「給我只有一個空格」,\((.*)\)仍然

\(\)意味着你被編碼支架用自己的文字形式,因爲簡單地使用()是作爲匹配組,(.*)離開

(.*)相同(.+),但這裏也是零字符匹配,因爲*的意思是「給我任何東西,甚至沒有什麼」

如。 Patryk (patnowak)會過去,Pat Nowak不會

0

/^ \ s {1}(()。)$/
將匹配像(+):你好(1id93;) 爲了走一步看一步,因爲這是一個正則表達式的作用:
/- 打開正則表達式
^ - 在開始比賽
( - 打開匹配組,將在返回:$ 1
+ - 匹配任何字符的一個或多個次
) - 關閉匹配組
\ s - 匹配空格
{1} - 正好其中之一
( - 匹配(反斜槓確保匹配(字符 (。
) - 再匹配任何0或幾次,並返回匹配組$ 2
) - 匹配a) $ - 標記正則表達式的結束。 /- 關閉正則表達式

+0

實際上,括號前面的反斜槓現在缺失了...此編輯需要編輯... – Ekkstein