これは私の文字列です
REGISTER sip:192.168.178.1 SIP/2.0
Call-ID: bla@192.168.178.60
CSeq: 1441 REGISTER
From: "620" <sip:620@192.168.178.20>;tag=bla
To: "620" <sip:620@192.168.178.20>
Via: SIP/2.0UDP 192.168.178.60:59488;branch=bla;rport
Max-Forwards: 70
User-Agent: bla
Contact: *
Expires: 0
Content-Length: 0
したがって、この文字列にはいくつかの改行があります。私の正規表現は次の形式です。
sipRequest = sipRequest.replaceFirst("(From: \")(.*)(\" <sip:)(.*)@(.*)>", "$1$2$3$4@" + sipServer + ">");
この正規表現は一致しますが、次の正規表現には一致しません:
sipRequest = sipRequest.replaceFirst("(^From: \")(.*)(\" <sip:)(.*)@(.*)>", "$1$2$3$4@" + sipServer + ">");
注: 「From」の前の「^」記号のみが異なります。では、なぜこの式は一致しないのでしょうか。改行で始まるので、一致するはずです。
手伝ってくれてありがとう。