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