Javascript 正则表达式匹配美元符号加空格后的任何内容

Javascript 正则表达式匹配美元符号加空格后的任何内容,javascript,regex,match,nodejs,Javascript,Regex,Match,Nodejs,我有一根线,像: x123456@server123:/path/to/somewhere$ ls -ltra 我想匹配“$”之后的任何内容(“$”不包括在内。请注意空格。)。在这种情况下,我将获得“*ls-ltra*” 我的代码是: var res = str.match(/\$ (.*)/); console.log( res[1] ); 这样我就得到了预期的字符串。。。但是,有没有其他方法可以在不捕获组的情况下实现这一点?在shell中尝试: % nodejs > var fil

我有一根线,像:

x123456@server123:/path/to/somewhere$ ls -ltra
我想匹配
“$”
之后的任何内容(
“$”
不包括在内。请注意空格。)。在这种情况下,我将获得
“*ls-ltra*”

我的代码是:

var res = str.match(/\$ (.*)/);
console.log( res[1] );
这样我就得到了预期的字符串。。。但是,有没有其他方法可以在不捕获组的情况下实现这一点?

在shell中尝试:

% nodejs
> var file = 'x123456@server123:/path/to/somewhere$ ls -ltra'
undefined
> file
'x123456@server123:/path/to/somewhere$ ls -ltra'
> var matches = file.match(/\$\s+(.*)/);
undefined
> matches
[ '$ ls -ltra',
  'ls -ltra',
  index: 36,
  input: 'x123456@server123:/path/to/somewhere$ ls -ltra' ]
> matches[1]
'ls -ltra'

在JavaScript中,为以下任一项生成的匹配组

x123456@server123:/path/to/somewhere$ ls -ltra  
x123456@server123:/path/to/some$$wh$re$ ls -ltra
x123456@server123:/path/to/somewhere$     ls -ltra
// and even:
x123456@server123:/path/to/some$$where$ls -ltra
使用

将是
ls-ltra

← 我解释得再好不过了


您还可以使用
.split()

var str=”x123456@server123:/path/to/where$ls-ltra”;
var sfx=str.split(/\$\s+/)[1];

警报(sfx);//“ls-ltra”
到目前为止您有什么?这不是一个免费的编码服务,你的问题是什么?好吧,最新的编辑-有没有其他方法在不捕获组的情况下获得它-使这个问题偏离主题,我想。不,这是不可能的。@devnull69你像一个编码警察还是什么?;)是的,我当然是。。。感谢您遵守并慷慨地展示您的代码:)
/(?:\$\s*)([^$]+)$/g