如何替换匹配的字符串php

普密沙

我有如下格式的字符串:

$string ='[(id,name,top,left,width,height,depth)name|name]
  [(id,name,top,left,width,height,depth)]
  [(id,name,top,left,width,height,depth)name|name]
  [(id,name,top,left,width,height,depth)]
  [(id,name,top,left,width,height,depth)name]';

如果字符串的一部分不包含name,则从字符串中删除该部分。

所以输出会像

$output ='[(id,name,top,left,width,height,depth)name|name]
   [(id,name,top,left,width,height,depth)name|name]
   [(id,name,top,left,width,height,depth)name]';

我试过这样的事情

 $re = '/\[\((.*?)\)(.*?)\]/s';

但没有按预期工作

瓦尔迪博

您需要找到每个字符串,其中:

  • 以可选的“白色”字符开头,
  • 然后包含[(
  • 然后是除)(括号之间的内容)以外的一系列字符
  • 然后)并且]它们之间没有任何字符(名称)

并将其替换为空字符串。

所以,正则表达式应该是:\s*\[\([^)]+\)\]

请注意,这\n也是一个白色字符,因此实际上已删除:

  • 没有名称的文本前的换行符(如果有),
  • 和有问题的行(包括起始空格,如果有的话),

但终止该行的换行符(如果有)不会被删除。

有关工作示例,请参阅https://regex101.com/r/NVGild/1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何替换字符串中匹配的字符?(红宝石)

来自分类Dev

如何在Java中替换匹配的字符串?

来自分类Dev

如何替换字符串的所有匹配项?

来自分类Dev

如何在Java中替换匹配的字符串?

来自分类Dev

如何用完全匹配的字符串替换行

来自分类Dev

Scala:如何使用原始匹配值替换字符串

来自分类Dev

匹配字符串并替换剩余字符

来自分类Dev

C#如何替换比匹配的字符串短的字符串?

来自分类Dev

如何匹配不正确的字符串并替换为正确的字符串

来自分类Dev

如果n + 2行包含特定字符串,如何替换匹配的字符串

来自分类Dev

如何在两个文件中匹配字符串并替换字符串?

来自分类Dev

PHP-如何用PHP代码替换字符串?

来自分类Dev

替换与模式匹配的部分字符串

来自分类Dev

替换仅匹配字符串的开头

来自分类Dev

Python:匹配字符串并就地替换

来自分类Dev

字符串替换为模式匹配

来自分类Dev

替换仅匹配字符串的开头

来自分类Dev

匹配模式的字符串替换

来自分类Dev

如何正则表达式匹配和正则表达式替换php中的字符串

来自分类Dev

如何在php中替换字符串中的单词?

来自分类Dev

如何从 PHP 中的字符串(不是 \n)替换 'n\'

来自分类Dev

如何用php替换字符串并上传

来自分类Dev

如何在php中用数组()替换字符串

来自分类Dev

如何搜索和替换与多个文件的替换列表匹配的字符串

来自分类Dev

如何替换字符串中的匹配项并索引每个匹配项

来自分类Dev

替换字符串中的字符-PHP

来自分类Dev

PHP如何预匹配此字符串?

来自分类Dev

如何打印匹配的字符串以php中的文件结尾

来自分类Dev

PHP如何预匹配此字符串?

Related 相关文章

热门标签

归档