我想匹配,趕上所有現有的(如果有的話)<style...</style>
塊和一個<body..</body>
塊的HTML文檔裏面。 我認爲這很簡單,但我碰到奇怪的東西。 這是我整個正則表達式的猜測:PCRE(php)正則表達式,具有+匹配的子模式和*不具有?
/(<style[\s\S]+<\/style>)*[\s\S]*<body.*>([\s\S]+)<\/body>/i
它導致成什麼。所以,我除了把它弄壞了這些部件的工作:
/(<body.*>([\s\S]+)<\/body>)/i
/(<style[\s\S]+<\/style>)/i
而且最奇怪所有這些第一線的工作也,而第二名的成績空!
/(<style[\s\S]+<\/style>)+/i
/(<style[\s\S]+<\/style>)*/i
所以,我想誤差*和+子模式後之間的差異。爲什麼?我該如何解決這個問題?
謝謝!
感謝您改善錯誤。這是一個開始。 :-S – 2011-01-31 12:59:31