给定一个字符串: 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!
我应该用neggative 负回顾后 ...
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中的解决办法?
确保lookbehinds在JavaScript中不受支持。我不知道如何输出 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 /用户/ ken/Google \ Drive/__ config-GD/ST3“' 'var n = str.split(”“);'会给你所有部件中的n个数组......我不确定这是正则表达式的完美使用...将它们分组成组将会是,但我没有看到你这样做。让我知道。 – abc123
其实,我使用.split的正则表达式。我找到了答案,但谢谢。 –