在Python程序中嘗試使用一些Javascript正則表達式模式時,我遇到了一個奇怪的[^]
模式(部分較長的模式,如"<[^]+(?:id=\"block[_-]commerce[_-]cart[_-]cart|class=\"commerce[_-]product[_-]field)"
)。「[^]」正則表達式模式的含義是什麼(javascript正則表達式)?
這種模式是什麼意思?爲什麼要否定一個空字符類?
在Python程序中嘗試使用一些Javascript正則表達式模式時,我遇到了一個奇怪的[^]
模式(部分較長的模式,如"<[^]+(?:id=\"block[_-]commerce[_-]cart[_-]cart|class=\"commerce[_-]product[_-]field)"
)。「[^]」正則表達式模式的含義是什麼(javascript正則表達式)?
這種模式是什麼意思?爲什麼要否定一個空字符類?
在JavaScript中,[^]
表示any character
。
但是,建議您應該使用[\s\S]
來代替。
在Python,它會拋出異常([^ Incomplete character class
),你最好使用.
與re.DOTALL
(或re.S
)標誌,或[\s\S]
字符類。
否定或補充字符集。也就是說,它匹配括號內未包含的任何內容。您可以使用連字符指定一系列字符。正常字符集中的所有東西也適用於此。 例如,[^ abc]與[^ a-c]相同。他們最初匹配「牛腩」中的「r」和「斬」中的「h」。檢查此.. https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions –
JS中的[[^]'將匹配包括換行符在內的任何字符。 – anubhava