在有人说它是 this 的副本之前或 this . JavaScript
没有 look behind
所以我一直在努力解决这个问题。它确实有 look ahead
如前所述here
我真正想做的是这个。我有:-
hey:blah,{'some':'obj','another':[4,5,0]}
我想提取所有内容,但不包括第一个 :
.
所以我的输出是:-
blah,{'some':'obj','another':[4,5,0]}
到目前为止我的尝试:-
(:.+) //gives :blah,{'some':'obj','another':[4,5,0]}
- 注意它有 :
[^\w:].+ //gives ,{'some':'obj','another':[4,5,0]}
- 不是我预期的结果。 blah
丢失了。
我正在尝试在纯正则表达式中执行此操作,并试图避免循环或任何此类字符串操作。
到目前为止,我的尝试无济于事。
最佳答案
正则表达式
如果你不想选择任何东西,你可以把它包装在一个 look-ahed 中:
(?=:(.*))
如果你想去到下面的冒号:
(?=:([^:]*))
JavaScript 代码
因为没有选择任何东西,[0]
将是空白的。访问[1]
:
/(?=:(.*))/.exec("hey:blah,{'some':'obj','another':[4,5,0]}")[1];
// Use [1] not [0] ^^
也就是说,有什么问题吗:
var str = "hey:blah,{'some':'obj','another':[4,5,0]}";
str.substr(str.indexOf(':') + 1);
关于javascript - 匹配字符但不包括该字符和之后的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30950359/