Regex查找以特定字符串开头的行中的所有空格
我正在搜索一个正则表达式,以查找以特定字符串开头的行中的所有空格(在SVN转储文件中)。尽管有“全局”修饰符,我的正则表达式只返回第一次出现的空格字符 我正在处理的文件的一部分:Regex查找以特定字符串开头的行中的所有空格,regex,pcre,Regex,Pcre,我正在搜索一个正则表达式,以查找以特定字符串开头的行中的所有空格(在SVN转储文件中)。尽管有“全局”修饰符,我的正则表达式只返回第一次出现的空格字符 我正在处理的文件的一部分: ... pla bla bli Node-path: branches/BU ILD/ml_cf/syst em/Translation/TranslationManager.class.php Node-kind: file Node-action: change Text-delta: true ....
...
pla bla bli
Node-path: branches/BU ILD/ml_cf/syst em/Translation/TranslationManager.class.php
Node-kind: file
Node-action: change
Text-delta: true
....
正则表达式:
/Node-path: \S*(\ )/g
只查找第一个空格(U和I之间),而不查找行上的其他空格。使用PCRE正则表达式要查找以特定文本开头的行上的所有空格,请使用此正则表达式:
/(?:^Node-path: |\G)\S+\K\h+/gm
- 使用
我们将从(?:Node path:|\G)
或定位在上一个匹配的末尾节点路径开始匹配行:
在上一个匹配的末尾或第一个匹配的字符串的开头断言位置\G
重置报告匹配的起点\K
匹配一个或多个水平空白(空格或制表符)\h+
节点路径:\S*(\)
的所有事件。只有一个。也许这会帮助我们理解您搜索所有空间的目的。请解释您需要做什么。我可以事先告诉您,在给定行上查找所有空格将返回一个空格列表。如果你想知道它们有多少,那么使用tr//
anubhava给出了很好的答案。现在我需要使用sed将正则表达式返回的所有空格实例替换为下划线。看来有一些绝妙的魔法要做…谢谢!它做的工作!这就是我所做的,但我的声誉太低,我的选票无法改变公开显示的分数。