我有两个标签,标题和元描述:
<title>My name</title>
<meta name="description" content="I love my beautiful princess"/>
我想将<meta name="description">
标签的内容复制到<title>
标签中,而不会丢失元标签的内容
所以我为此做了一个正则表达式:
搜索: <title>(.*?)</title>|<meta name="description" content="(.*?)"/>
替换为:<title>2</title>
在这种情况下,唯一的问题是我丢失了元标记的内容。
所以,我的愿望输出应该是:
<title>I love my beautiful princess</title>
<meta name="description" content="I love my beautiful princess"/>
你可以试试这个:
<title>.*?</title>.*?(<meta.*?content="(.*?)"/>)
并替换为:
<title>2</title>n1
或者,如果您想保留其余空间的其他内容......韦普任何机会在这两行之间出现任何东西。然后你可以这样做:
<title>.*?</title>(.*?)(<meta.*?content="(.*?)"/>)
并替换为:
<title>3</title>12
正则表达式演示
更新
根据OP的评论:反之亦然,您可以这样做:
(<title>(.*?)</title>.*?)(<meta.*?content=").*?("/>)
并替换为
1324
PS:确保选中. matches newline
。
如果您有类似类型的标签,例如:<title>
和<h1>
。
。匹配换行符:
搜索:
<title>.*?</title>(.*?)(<h1>(.*?)</h1>)
替换为:
<title>3</title>12
反之亦然
。匹配换行符:
搜索:
(<title>(.*?)</title>.*?)(<h1>).*?(</h1>)
替换为
1324