2

次のような文字列があります。

val:key

で「val」をキャプチャでき/^\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

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.

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

それは : を探し、それから文字列の終わりまでのすべての単語文字をキャプチャします

于 2009-07-23T09:51:05.697 に答える