2013-07-30 118 views
4

他們都似乎工作,但我被告知你應該使用兩個,當你正在形成RegExp? s和 t有什麼區別?

+1

我認爲這是一個普通的正則表達式問題。也許拿出javascript,html標籤並改變標題。 – sircapsalot

+0

\ s表示空格,而\ t表示標籤的位置 – Shushant

+1

對於大多數答案在這裏所說的只是一種迂腐的調整:'[\ s \ t]'是多餘的。 '\ t'已經是'\ s'的一部分,所以你不必包含'\ t'。在'\ s \ t'的情況下,'\ t'不是多餘的。它正在尋找一個空格,然後是一個製表符。所以要小心,如果你正在處理一個角色類或不。 – Shaz

回答

13

\s匹配任何空格字符,包括製表符。 \t只匹配一個製表符。

\t\s的子集,您不應該同時使用兩者。

+2

我不會把'\ t'作爲'\ s'的一個「元素」。 – arshajii

+1

單元素子集? – pandubear

+1

在「轉義序列」下,此答案已被添加到[Stack Overflow Regular Expression FAQ](http://stackoverflow.com/a/22944075/2736496)中。 – aliteralmind

0

\s包含的所有空格字符。例如,在Java中,\s[\t\n\x0b\r\f]\t只是一個選項卡,因此您不需要同時使用這兩個選項卡。

2

\t字面標籤而\s是一個預定義character class\s匹配任意空白字符,而\t匹配只有選項卡(它們也與\s匹配)。

這類似於詢問\d0之間的區別是什麼。 0是文字0\d是任何數字。

相關問題