Php 正则表达式替换第行上分组后的所有空格

Php 正则表达式替换第行上分组后的所有空格,php,regex,replace,space,Php,Regex,Replace,Space,好的。。。这个问题听起来很奇怪,但我的意思是: 我有一个特定的组要搜索,我希望该组之后的所有空间都被删除,但仅限于当前行。我的具体例子如下: @subpackage Some Word Stuff @subpackage不接受空格,但我当时不知道,我有很多行需要修复。我想用regex进行查找和替换(我的IDE支持这一点),去掉@subpackage每个实例后面单词之间的空白 编辑:也许通过示例来说明 "@subpackage Some Word Stuff" -> "@subpackag

好的。。。这个问题听起来很奇怪,但我的意思是:

我有一个特定的组要搜索,我希望该组之后的所有空间都被删除,但仅限于当前行。我的具体例子如下:

@subpackage Some Word Stuff
@subpackage
不接受空格,但我当时不知道,我有很多行需要修复。我想用regex进行查找和替换(我的IDE支持这一点),去掉
@subpackage
每个实例后面单词之间的空白

编辑:也许通过示例来说明

"@subpackage Some Word Stuff" -> "@subpackage SomeWordStuff"

使用下面的正则表达式查找,替换为空字符串
'

(只需使用“全部替换”)

这里有一个适用于所有非换行空白

 # '~(?mi-)(?:(?!\A)\G|^@subpackage)\S*\K[^\S\r\n]+~'

 (?xmi-)                     # Inline 'Expanded, multiline, case insensitive' modifiers
 (?:
      (?! \A )                    # Matched before, start from here
      \G                          
   |                            # or,
      ^ @subpackage               # '@Subpackage' at bol (remove '^' if not at bol)
 )
 \S*                         # 0 or more, Not whitespace
 \K                          # Don't include anything from here back in match
 [^\S\r\n]+                  # 1 or more non-linebreak whitespaces

很难理解:(所以你想
一些单词材料
变成
一些单词材料
@subpackage
总是在行的开头吗?是的,是的。我想任何以“@subpackage”开头的行都去掉“@subpackage”后面的所有空格。这样该行就会变成“@subpackage SomeWordStuff”我不确定这是否有效。我在这里进行了测试:。我相信我使用的IDE(PHP storm)遵循preg_replace的方法
 # '~(?mi-)(?:(?!\A)\G|^@subpackage)\S*\K[^\S\r\n]+~'

 (?xmi-)                     # Inline 'Expanded, multiline, case insensitive' modifiers
 (?:
      (?! \A )                    # Matched before, start from here
      \G                          
   |                            # or,
      ^ @subpackage               # '@Subpackage' at bol (remove '^' if not at bol)
 )
 \S*                         # 0 or more, Not whitespace
 \K                          # Don't include anything from here back in match
 [^\S\r\n]+                  # 1 or more non-linebreak whitespaces