【发布时间】:2013-08-08 03:30:44
【问题描述】:
给定一个字符串:
rsync -r -t -p -o -g -v --progress --delete -l -H /Users/ken/Library/Application\ Support/Sublime\ Text\ 3/Packages /Users/ken/Google\ Drive/__config-GD/ST3
正则表达式匹配空间但我尝试过转义空间:
首先匹配转义的空格(或任何)。
\\.
http://regex101.com/r/uL0mP8 有效。
接下来,要匹配空格,请排除转义的空格(或任何空格)。
(?!\\.)
http://regex101.com/r/fK3sW9 不工作。
代码有什么问题? javascript。
谢谢
编辑:
(?<!\\)
http://regex101.com/r/fZ5uP2 wokrs!
我应该使用否定的Negative Lookbehind...
EDIT2:
var command0 = `rsync -r -t -p -o -g -v --progress --delete -l -H /Users/ken/Library/Application\ Support/Sublime\ Text\ 3/Packages /Users/ken/Google\ Drive/__config-GD/ST3`;
var regex = new RegExp('(?<!\\)\s')
var commandA = command0.split(regex);
错误 -
Invalid regular expression: /(?<!\\)\s/: Invalid group
糟糕,JavaScript 中的解决方法是什么??
JavaScript 不支持 OK Lookbehinds。我不确定如何 http://regex101.com 可以输出。也许是 PHP 或其他服务器端的。
EDIT3:
这非常棘手。查看我发布的完整工作代码:
shell command to child_process.spawn(command, [args], [options]) node.js
【问题讨论】:
-
var str = "rsync -r -t -p -o -g -v --progress --delete -l -H /Users/ken/Library/Application\ Support/Sublime\ Text\ 3/Packages /Users/ken/Google\ Drive/__config-GD/ST3"var n=str.split(" ");会给你一个包含所有部分的数组...我不确定这是正则表达式的完美使用...将它们分成组将是但是我没有看到你这样做。告诉我。 -
实际上,我使用 .split 的正则表达式。我找到了答案,但谢谢。
标签: javascript regex