2016-05-11 76 views

回答

2

逗號匹配2個以上空間,讓您刪除字符串的空間,如:

part1  part2 

爲好。如果使用正則表達式第一次在這一個(沒有逗號),它會看到這一點:

part1<SPACE><SPACE><SPACE><SPACE><SPACE>part2 

前兩個空格被刪除,那麼接下來的兩個,還剩下

part1<SPACE>part2 

這最後的空間不匹配\s{2}並且將保持不變。如果您使用逗號,則只需一次移除它們,因爲它匹配2個或更多空格。

另外,如果您在逗號後面加上另一個數字,則可以設置最大數量的空格以匹配。

+0

非常感謝!非常清楚。知道我明白 –

+0

請注意,它不會*刪除*空格,它將*替換爲一個空格。您的示例將以3個空格而不是1個,而不是1個而不是1個。 – Bergi

+0

我還想刪除單詞。爲什麼這不起作用? songText.replace(/ WUB {1,}/g,「」); –

2

範圍元序列由兩部分組成,最小匹配和最大匹配。

{n, m} 

哪裏n最小,m是最大的。

當只有一個被指定它視爲最小和最大,例如:x{2}將匹配兩個x'es

當省略manimum它將匹配0 ..最大時間,例如:x{,2}將匹配零,一個或兩個x'es

當省略最大它將最小或多次,例如匹配:x{2,}將匹配的兩個或更多x'es

+0

謝謝你的偉大答案! –

+0

我也想刪除單詞。爲什麼這不起作用? songText.replace(/ WUB {1,}/g,「」); –

+0

@AlexeyTseitlin範圍選擇器只能處理前面的字符或組。使用'/(?:WUB){1,}/g'或你的情況,因爲它是1或更多:'/(?: WUB)+/g' – andlrc