非贪婪的 LookAhead
我有如下字符串:
val:key
我可以使用 /^\w*/
捕获“val”。
现在我怎样才能获得没有“:”符号的“密钥”??
谢谢
I have strings like follows:
val:key
I can capture 'val' with /^\w*/
.
How can I now get 'key' without the ':' sign?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这个怎么样?
或者,如果您只想捕获冒号之后的所有内容:
这是一个不太清楚的示例,使用后向断言来确保冒号出现在匹配之前 - 整个匹配将不包括该冒号。
How about this?
Or if you just want to capture everything after the colon:
Here's a less clear example using a lookbehind assertion to ensure a colon occurred before the match - the entire match will not include that colon.
您使用什么语言? /:(.*)/ 不会捕获“:”,但它匹配
Perl中的“:”,如果你说:
那么$ capture不会有“:”和 $match 将。 (但尽量避免使用 $& ,因为它会减慢 Perl 的速度:这只是为了说明匹配)。
What language are you using? /:(.*)/ doesn't capture the ":" but it does match the ':'
In Perl, if you say:
Then $capture won't have the ":" and $match will. (But try to avoid using $& as it slows down Perl: this was just to illustrate the match).
这将捕获组 1 中的键和组 2 中的值。即使值包含冒号 (:) 字符,它也应该正常工作。
This will capture the key in group 1 and the value in group 2. It should work correctly even when the value contails a colon (:) character.
查找 : 然后捕获它后面的所有单词字符,直到字符串末尾
That looks for : and then captures all the word characters after it till the end of the string