正規表現を使って下記の文字たちを
// } // $ // w //
から
// //} // //$ // //w //
のように置換したいのです。ただ後読み(否定と工程)とパターン修飾子mを使わずに置換したいのです。
mを使えば、簡単にできますが、mと後読み無しで上記のように置換できるのでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
訂正前
「後読み」は使う機会がないように読めますが、否定先読みは使っていいのでしょうか。
(2018/01/23 22:00追記)
こちらは間違っていた為、修正案を後述しました。
JavaScript
1string.replace(/^(?!//)/mg, '//'); 2string.replace(/^(?://)?/mg, '//');
訂正後
後読みが使えないなら、キャプチャすれば良いと思います。
JavaScript
1string.replace(/(^|\r\n|[\n\r])(?!//)/g, '$1//'); 2string.replace(/(^|\r\n|[\n\r])(?://)?/g, '$1//');
Re: aaaaaaaa さん
投稿2018/01/23 05:49
編集2018/01/23 13:02総合スコア18162
0
bash
1echo -e '//\n}\n//\n$\n//\nw\n//' | sed -e 'N' -e 's#//\n#//#'
あまりにも手抜きな方法ですね、、。
投稿2018/01/22 12:43
編集2018/01/22 12:49退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
m修飾子というのであればPHPでしょうか?
PHP
1$str=<<<eof 2// 3} 4// 5$ 6// 7// 8w 9// 10eof; 11$pattern="@(//)\r\n@"; 12$replacement="$1"; 13$str=preg_replace($pattern,$replacement,$str); 14 15print nl2br($str);
「//」行のあとに「//」が来た場合どうしたいかによります
投稿2018/01/23 01:25
総合スコア114757
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/23 10:39
0
PowerShell
PowerShell
1$a = "// 2} 3// 4$ 5// 6w 7//" 8[System.Text.RegularExpressions.Regex]::Replace($a, "^[^/]", "//`$0", "Multiline")
結果
// //} // //$ // //w //
m ではなく Multiline です。
修飾子ではなくオプションです。
投稿2018/01/22 11:41
編集2018/01/22 11:46総合スコア28660
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/23 05:54
2018/01/23 09:28
2018/01/23 13:03