好的......这个问题听起来很奇怪,但我的意思是:
我有一个特定的组要搜索,我希望该组后面的每个空格都被剥离出来,但只在当前行上。我的具体例子如下:
@subpackage Some Word Stuff
@subpackage
不接受空格,但当时我还不知道,我有很多这样的线要修复。我想做一个查找并用正则表达式替换(我的IDE支持这个),以便在@subpackage
的每个实例之后删除单词之间的空格。
编辑:通过例子清晰可能
"@subpackage Some Word Stuff" -> "@subpackage SomeWordStuff"
答案 0 :(得分:1)
使用下面的正则表达式查找,替换为空字符串''
(只需使用replace_all)
# '~(?mi-)(?:(?!\A)\G|^@subpackage)[^ \r\n]*\K[ ]+~'
(?xmi-) # Inline 'Expanded, multiline, case insensitive' modifiers
(?:
(?! \A ) # Matched before, start from here
\G
| # or,
^ @subpackage # '@Subpackage' at bol (remove '^' if not at bol)
)
[^ \r\n]* # Not space or line breaks
\K # Don't include anything from here back in match
[ ]+ # 1 or more spaces
这是一个适用于所有非linebreak空格的内容。
# '~(?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