选择第一个空格

时间:2014-01-06 09:24:38

标签: regex notepad++

我需要正则表达式来选择第一个空格,无论该行上的空格或单词数量是多少。

E.g。

aaa bbb ccc ddd fff ggg 

我只想在'aaa''bbb'之间选择第一个空格。

我创建了类似^(\S+)\s的内容,选择了'aaa_',但我只希望选择空格,即使行中有更多空格,也只需要行中的第一个空格。

感谢您的反馈

6 个答案:

答案 0 :(得分:3)

使用:

/\s/

如果您不使用全局标记g,则正则表达式与第一个实例匹配。

答案 1 :(得分:1)

带有正则表达式的PHP示例

$str = 'aaa bbb ccc ddd fff ggg ';
preg_match_all('/\s/', $str, $matches);
print "-->".$matches[0][0]."<--";    

答案 2 :(得分:1)

您可以将第一个空格与仅包含空格的正则表达式匹配,例如:

PS Home:\> [regex]::Match('aaa bbb ccc ddd fff ggg', ' ')

Groups   : { }
Success  : True
Captures : { }
Index    : 3
Length   : 1
Value    :

请注意\s将匹配空白的所有内容,包括标签,不间断空格和许多其他内容,而不仅仅是U + 0020。

答案 3 :(得分:1)

$str = "aaa bbb ccc ddd fff ggg";

对于 PHP preg_replace :如果您只想替换第一个空格,设置限制

echo preg_replace('/\s/', "_", $str, 1);

输出

aaa_bbb ccc ddd fff ggg

答案 4 :(得分:0)

如果我理解正确,您希望将第一个单个空格字符更改为选项卡。在Notepad ++中查找和替换all应该相当简单,只需确保选择正则表达式。

您识别角色的方式是正确的:

^(\S+)\s    

导致'aaa _'

但是当你去替换它时试试这个:

\1\t

导致'aaa \ t'

答案 5 :(得分:0)

只需交换您的捕获组,而不是:

^(\S+)\s

输入Search what:框:

^\S+(\s)

第一组空间将被捕获。