Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要从文本中删除以下所有子字符串:
</p> <p class="calibre2">
但不是那些以标点符号开头的,比如“。” 或者 ”?” 或者 ”!”
所以删除以下
Hello</p> <p class="calibre2"> World
--> 输出所需的“Hello World”
但保留以下内容,无需修改:
Hello.</p> <p class="calibre2"> World
这必须是sed吗?perl怎么样?
perl -0777 -pe 's{(?<![[:punct:]])</p>\s*<p class="calibre2">}{}g' file
你可以在正则表达式的帮助下做到这一点。
我可以用这个模式来替换
\<\/p\>\s{0,}\<p[\w\W]{0,}?\>
在 PHP 中,你可以用这段代码做到这一点
$a = 'Hello</p> <p class="calibre2"> World'; $pattern = '/\<\/p\>\s{0,}\<p[\w\W]{0,}?\>/'; echo preg_replace($pattern,'',$a);