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