回答
快速回答:匹配由單個字符,其中該字符是字母數字(字母,數字)的下劃線(_
)或星號(*
)的字符串。
詳細說明:
- 的 「
\w
」 表示 「任何文字字符」,這通常意味着字母數字(字母,數字,而不管殼體的)加下劃線(_) - 的 「
^
」,「錨點「指向字符串的開頭,而」$
「」錨點「指向字符串的末尾,這意味着在這種情況下,匹配必須從字符串的開始處開始並結束於字符串的結尾。 []
表示一個字符類,意思是「匹配字符類中包含的任何字符」。
還值得一提的是,正常報價和轉義規則的字符串,使其很難進入正則表達式(所有的反斜線將需要額外的反斜槓進行轉義),所以在Python中有一個特殊的符號,其有其自己的特殊引用規則,允許對所有反斜槓進行適當的解釋,這就是開始時的「r
」。
注:通常星號(*
)表示「0以上的先前事」,但在上面的例子中,它確實不具有意義,因爲星號是內的字符類的 ,所以它失去了「特殊性」。
這是一個壞概念,但爲了未來的讀者,\ w是類的python等價物:[^ a-zA-Z0-9_]。正如你可以在這裏看到的,至少對於Python 2.7.x到3.4.y來說,'*'不會涉及到這一點。如果正則表達式類[\ w *]會引入*作爲文字caracter的無用重複(即沒有特殊含義,因爲它包含在表示類的方括號內)。 – Cbhihe 2016-02-02 16:06:36
在Python 3中,'\ w'的定義默認情況下考慮了Unicode字符的定義,所以它比'[^ a-zA-Z0-9_]'更寬。有關血淋淋的細節,請參閱https://docs.python.org/3/library/re.html#module-re。 – Bevan 2017-06-19 01:35:03
從此行開始,"Any number of word characters (letter, number, underscore)"直到行尾。
如果您想要返回匹配的文本,我不確定它爲什麼在方括號中,因爲圓括號(例如「(」和「)」)是正確的。
\ w指的是0個或更多的字母數字字符和下劃線。在你的情況下,*也是字符類中,所以[\ W *]將匹配所有的[A-ZA-Z0-9_ *](*爲字面解釋)
見http://www.regular-expressions.info/reference.html
要報價:
\ d,\ w和\ s ---速記字符類匹配數字,單詞字符和空格。可以在字符類內部和外部使用。
編輯響應修正評論
不在上述正則表達式中。由於'*'在字符類中,因此它成爲該類的成員。 – 2009-10-16 08:28:45
\ W等效於[A-ZA-Z0-9_]我不明白它後*或[]周圍,因爲\ w已經是一個類,*在類定義中是沒有意義的。
正如exhuma所說,\ w是任何字級字符(字母數字爲Jonathan澄清)。
然而,因爲它是在方括號它會匹配:
- 單個字母數字字符或
- 星號(*)
所以整個正則表達式匹配:
- 行首(^)
- 後跟一個 單個字母數字字符或 星號
- 後跟一個 線($)
的末尾,以便下面將匹配:
blah
z <- matches this line
blah
或
blah
* <- matches this line
blah
如上所述\ w表示任何單詞。所以你可以在下面
view.aspx?url=[\w]
,這意味着你可以擁有任何單詞作爲價值的環境中使用這種「URL =」參數
\ w只匹配單個字符,而不是整個單詞。您需要像+,*或{n,m}這樣的量詞來實際匹配整個單詞(即多個單個字符) – 2009-10-16 08:40:07
- 1. 是什麼正則表達式的意思是: '/ &\w; /'
- 2. 正則表達式[\ w-]是什麼意思?
- 3. 正則表達式\ |(?= \ w =>)是什麼意思?
- 4. 在正則表達式中,^和$是什麼意思?
- 5. '|'是什麼意思?在這個正則表達式?
- 6. 是什麼正則表達式的意思是,爲什麼
- 7. 這是什麼意思正則表達式中整理/ I
- 8. 正則表達式中的正斜槓是什麼意思
- 9. JavaScript正則表達式中的正斜槓是什麼意思?
- 10. 在Python正則表達式中,「?:」是什麼意思?
- 11. 在正則表達式中,'懶'和'貪'是什麼意思?
- 12. 在java中的正則表達式_是什麼意思
- 13. 在正則表達式中,?= ^是什麼意思?
- 14. 在正則表達式模式之前,'r'是什麼意思?
- 15. 這些正則表達式是什麼意思?
- 16. 這個正則表達式(\ /?)是什麼意思?
- 17. 這個正則表達式是什麼意思?
- 18. .NET正則表達式中的(?i)是什麼意思?
- 19. 正則表達式中的`?i`和`?-i`是什麼意思?
- 20. 正則表達式中的IJ - 這是什麼意思?
- 21. 正則表達式中的^是什麼意思?
- 22. php中的這個正則表達式是什麼意思?
- 23. 正則表達式preg php中的[^>]是什麼意思?
- 24. 正則表達式(perl)中的[\ 0-9]是什麼意思?
- 25. 正則表達式中的(?m:\ s *)是什麼意思?
- 26. 正則表達式中的$ 1,$ 2等是什麼意思?
- 27. 是什麼意思$ 1Z在正則表達式
- 28. 返回-1是什麼意思在正則表達式搜索
- 29. 這是什麼意思這個'(?U)'在nginx正則表達式
- 30. 正則表達式匹配模式「\\ [。* \\]」是什麼意思?
你的意思'R「^ \ W * $」' ? – 2009-10-16 08:30:17
跟隨勞倫斯的評論,這沒有引號沒有任何特別的意義。 – foosion 2009-10-16 11:03:12
嘿@ S.Lott:你怎麼知道這是作業? – 2009-10-16 11:04:53