回答
幾乎正確:\s
實際上是指「任何空格字符」,其中還包括製表符和可能的CR/LF(\r
和\n
)。
如果您正在使用的perl,\s
可搭配一些其他字符太(從perlre):
如果Unicode是有效, 「\ s」 匹配也由 「\ x {85}」,「\在開始○×{2028},和 「\ X {2029}」
一對夫婦更澄清。
- 由於匹配未錨定(
^
r$
),大多數引擎將這個表達式視爲意味着該字符串可以匹配任何字符串內的任何地方。換句話說,正則表達式/cat/
將匹配「cat」,「caterpillar」或「concatenate」。所以你的字符串需要包含你所描述的內容,但是可以用其他的前綴或後綴。 /s
最後通常意味着將整個字符串視爲一條巨大的線條。再次,來自perlre:
將字符串視爲單行。也就是說,改變「。」以匹配任何字符,甚至是一個通常不匹配的換行符。
「/ s」和「/ m」修飾符都覆蓋$ *設置。也就是說,無論$ *包含什麼,沒有「/ m」的「/ s」都會強制「^」只匹配字符串的開頭,而「$」只匹配最後一行(或者在換行符之前字符串的結尾)。如同/ ms一樣,他們讓「。」匹配任何字符,同時仍然允許「^」和「$」分別匹配字符串中的換行符之後和之前。
如果您使用的是PHP,請對Bug非常謹慎:http://core.trac.wordpress.org/ticket/11528 – 2011-05-27 17:34:03
錯了。 \s
是任何空格字符,不只是空格。
你的假設大多數是正確的,只有一個改變和一個遺漏。
首先,正如其他人所說,\s
意味着任何空白,而不僅僅是「空間」。
此外,尾部s
表示正則表達式處於「單線模式」,這意味着.
(點)將匹配換行符。換句話說,你傳遞給這個正則表達式的任何東西都會被解析,就好像它是一行輸入一樣,不管它是否有換行符(它們將只是另一個特殊字符,如\n
或\r
)。
- 1. 這是什麼意思這個'(?U)'在nginx正則表達式
- 2. 這個正則表達式模式是什麼意思?
- 3. 這個PHP正則表達式模式是什麼意思?
- 4. 這個正則表達式是什麼意思:\\ d {3} - \\ d {4}。*
- 5. 這個正則表達式(\ /?)是什麼意思?
- 6. 這個正則表達式是什麼意思?
- 7. 這個正則表達式是什麼意思 - 「\ p {Lu}」?
- 8. php中的這個正則表達式是什麼意思?
- 9. 這個正則表達式是什麼意思?
- 10. 這個正則表達式是什麼意思:[^ \(\)] *?
- 11. /.../這個Ruby正則表達式是什麼意思?
- 12. 這個Javascript語句(正則表達式)是什麼意思?
- 13. 這個正則表達式字符串是什麼意思?
- 14. 這個正則表達式是什麼意思:/[\[\.]/
- 15. 這個PHP正則表達式是什麼意思?
- 16. 這個正則表達式是什麼意思?
- 17. 這個正則表達式是什麼意思?
- 18. 這個正則表達式是什麼意思?
- 19. 這個正則表達式是什麼意思?
- 20. '|'是什麼意思?在這個正則表達式?
- 21. 這是什麼正則表達式的意思是「[^>] *
- 22. 這個正則表達式的意思
- 23. 正則表達式這是什麼正規表達式S#的意思^ */##小號
- 24. 這是什麼意思正則表達式中整理/ I
- 25. 這些正則表達式是什麼意思?
- 26. 正則表達式中的IJ - 這是什麼意思?
- 27. 這些qr {}正則表達式是什麼意思?
- 28. 這些Perl正則表達式是什麼意思?
- 29. 是什麼正則表達式的意思是,爲什麼
- 30. 這個表示法在正則表達式中表示「?:」是什麼意思?
你正在使用什麼正則表達式解析器?哪種語言和/或哪個庫?您可能需要添加一些關於該標籤的標籤。 – Roalt 2011-05-27 17:32:30
@Roalt,我已經有PHP標記,但我想有人刪除它。將它添加回來。 – sameold 2011-05-27 18:14:18