2017-09-13 14 views
-2

\ r \ nの間にすべて一致しています。私は\ r \ nの間で数字を一致させ、 ""で置き換えたいです。キャリッジリターンと改行内の数字を一致させる正規表現

regex: [^\r\n\d$\r\n] 
Matching: 
    abc\r\n123\r\nabc\r\n 
Doesnot match: 
    \r\n\r\n 
    \r\nasaas\r\n 

正規表現は、上記のすべてが一致していると言います。 これは、ソケットから受信したパケットデータのチャンク長を削除するのに便利です。チャンクパケットに含まれるパケット長を削除して、適切なXMLを作成したいと考えています。自分でライン上の数字を分離するための純粋な正規表現の観点から

+1

質問に関連するすべての情報を直接入力する必要があります。リンクは補足的でなければならない。 – chris

+0

あなたは一桁しか持っていないので、全く一致するはずはありません –

+1

チャンク転送モードを実装している場合は、 'HttpURLConnection'、Apache HTTPクライアントなど実際にあなたのライブラリを使用してください。 – EJP

答えて

-3

:C++文字列として

(\n\d+\n)|(^\d+\n)|(\n\d+$) 

:私はあなたがこれをしたいと思います"(\\n\\d+\\n)|(^\\d+\\n)|(\\n\\d+$)"または単にR"((\n\d+\n)|(^\d+\n)|(\n\d+$))"

更新。他者が指摘しているように、正規表現はHTTPストリームを解析するのに最も適切なツールではないかもしれません。しかし、正規表現の観点からは、私はこの答えに立つつもりです。

+2

待ってください。正規表現ライブラリは無条件で行末を特別扱いですか?理由#42953正規表現から離れている(FWIW、[それは本当だとは思わない](http://coliru.stacked-crooked.com/a/7088761318d3d9fb)) – sehe

+0

'^ \ d'は' [] '? – wilx

関連する問題