我有如下字符串:
val:key
我可以用/^\w*/
.
我现在如何在没有“:”符号的情况下获得“密钥”?
谢谢
这个怎么样?
/^(\w+):(\w+)$/
或者,如果您只想捕获冒号后的所有内容:
/:(.+)/
这是一个不太清楚的示例,它使用后向断言来确保在匹配之前出现冒号 - 整个匹配将不包括该冒号。
/(?<=:).*/
您使用什么语言?/:(.*)/ 不捕获“:”,但它匹配“:”
在 Perl 中,如果你说:
$text =~ /\:(.*)/;
$capture = $1;
$match = $&;
然后 $capture 将没有“:”,而 $match 将。(但尽量避免使用 $& 因为它会减慢 Perl:这只是为了说明匹配)。
这将捕获第 1 组中的键和第 2 组中的值。即使值包含冒号 (:) 字符,它也应该可以正常工作。
^(\w+?):(.*)
/\:(\w*)/
查找 : 然后捕获它之后的所有单词字符,直到字符串的末尾