2

我有如下字符串:

val:key

我可以用/^\w*/.

我现在如何在没有“:”符号的情况下获得“密钥”?

谢谢

4

4 回答 4

4

这个怎么样?

/^(\w+):(\w+)$/

或者,如果您只想捕获冒号后的所有内容:

/:(.+)/

这是一个不太清楚的示例,它使用后向断言来确保在匹配之前出现冒号 - 整个匹配将不包括该冒号。

/(?<=:).*/
于 2009-07-23T09:49:07.417 回答
1

您使用什么语言?/:(.*)/ 不捕获“:”,但它匹配“:”

在 Perl 中,如果你说:

$text =~ /\:(.*)/;
$capture = $1;
$match = $&;

然后 $capture 将没有“:”,而 $match 将。(但尽量避免使用 $& 因为它会减慢 Perl:这只是为了说明匹配)。

于 2009-07-23T09:56:41.723 回答
1

这将捕获第 1 组中的键和第 2 组中的值。即使值包含冒号 (:) 字符,它也应该可以正常工作。

^(\w+?):(.*)
于 2009-07-23T09:58:05.183 回答
0
/\:(\w*)/ 

查找 : 然后捕获它之后的所有单词字符,直到字符串的末尾

于 2009-07-23T09:51:05.697 回答