我想删除之前的所有行<!DOCTYPE html>
,但我想保留以以下内容开头的行:$item_id =
<?<!-- ÉTOILES R -->);
$item_id = 1442 ; // Remplacez-le par votre identifiant de notation.
// Si vous voulez que la note fonctionne avec les Rich-Snippets,
// définit la classe d'évaluation sur l'une des valeurs suivantes :
// produit, page, blog-post, post, front-post, article
$rating_class = 'page';
?>
<!DOCTYPE html>
输出应该是
$item_id = 1442 ; // Remplacez-le par votre identifiant de notation.
<!DOCTYPE html>
我的正则表达式失败:
寻找:(?s)\A(^.*)(<!DOCTYPE html>)(?!\$item_id =.*?id)
替换为:\3\2
答案1
- Ctrl+H
- 找什么:
\A[\s\S]*?(^\h*\$item_id.+\R)[\s\S]+?(?=\R<!DOCTYPE html>)
- 用。。。来代替:
$1
- 打钩 相符
- 打钩 环绕
- 选择 正则表达式
- 取消勾选
. matches newline
- Replace all
解释:
\A # beginning of file
[\s\S]*? # 0 or more any character, not greedy
( # group 1
^ # beginning of line
\h* # 0 or more horizontal spaces
\$item_id # literally $item_id
.+ # 1 or more any character but newline
\R # any kind of linebreak
) # end group 1
[\s\S]+? # 1 or more any character, not greedy
(?=\R<!DOCTYPE html>) # positive lookahead, make sure we have DOCTYPE after
截图(之前):
截图(之后):