2017-04-03 4 views
1

ペイロード(複数行のテキストファイル)。複数行モードでの最後のシンボル発生後に改行を置換するための正規表現

foo bar()) 
zab()rab)(oof 
) abc dfe; 

aaa)bbb 
()hhh(
) xxx yyy; 

だから、私は次に何を正規表現が必要になります:;前に、最新の)シンボルを見つけて、すべてのスペース記号を置き換える(の面で\s結果(preg_replace()コールまたはアナログの後に)期待

foo bar()) 
zab()rab)(oof 
) 
abc 
dfe; 

aaa)bbb 
()hhh(
) 
xxx 
yyy; 

正規表現)を);の間に挿入します。

私はネガティブなビヘイビッドで試してみたいが、マルチラインモードでは運がない。

+0

これを何に置き換えますか? – Luke

+1

'$ payload = preg_replace_callback( '〜\)([^ \)\;] +)\;〜'、function($ matches){return ')'になります。 preg_replace( '〜\ s +〜'、 ''、$ matches [1])。 ';';}、$ payload); ' – Deadooshka

+0

@Lukeは空の文字列で置き換えます。 – Alex

答えて

0

このコメントは、回答として質問にフラグを立ててください:Deadooshkaのコメントを見てください。

0

純正regexpを使用する必要がない場合は、正規表現だけを使用します。

\)([^\)]+);

これは;前に、最新の)をとることを保証します。

その後、あなたは内容の間にwhatsがあり、そこでは\ nと\ rまたはあなたが望むものをあなたが望むものに置き換えることができます。

関連する問題