4

SIP URIの一部を取得するにはどうすればよいですか?たとえば、URIsip:username@sip.somedomain.comがあり、getを取得する必要があり、式usernameを使用し[^sip:](.*)[$@]+ますが、表示される結果はusername@です。マッチングから除外するにはどうすればよい@ですか?

4

3 に答える 3

8

これは仕事をする必要があります

(?<=^sip:)(.*)(?=[$@])
于 2013-03-17T22:58:19.237 に答える
1

@に実際に一致する代わりに、先読みを使用します。

^sip:(.*?)(?=@|\$)

非常に奇妙な正規表現フレーバーを使用しているか、開始キャラクタークラスが間違いです。、、、またはのいずれでも[^sip:]ない単一の文字に一致します。また、SIP構文の一部ではないため、文字の目的もわかりません。sip:$

于 2013-03-17T22:59:45.690 に答える
1

正規表現フレーバーで先読みが利用できない場合(たとえば、POSIX正規表現に先読みがない場合)、キャプチャグループを使用して一部のコンテンツのみを取得すれば、最終的には返したくない正規表現の文字列の一部を一致させることができます。そのうちの。

例えば

^sip:(.*?)[$@]+次に、最初のキャプチャグループのコンテンツのみを返します

于 2013-03-17T23:04:27.510 に答える