データ
7. Masi is the same as
\begin{enumerate}
A
B
ABC ha lorem
\end{enumerate}
1. ABC is
\begin{enumerate}
P
B
Lorem maam
\end{enumerate}
私は〜になりたい
7. Masi is the same as
\begin{enumerate}
\item A
\item B
\item ABC ha lorem
\end{enumerate}
1. ABC is
\begin{enumerate}
\item P
\item B
\item Lorem maam
\end{enumerate}
私の開始正規表現は以下に基づいています。回答
perl -000pe s/\n/\n\\begin{enumerate}\n [A-Za-z1-9]* \end{enumerate}/ ... [problem here!] masi.tex
どこ
- -000:各質問が1行として処理されるように、「行」を2つの連続する改行(\ n \ n)として定義するPerlの短絡モードを有効にします。
- -pe : 入力ファイルの各行を読み込み、-e(-p) に渡されたスクリプトを適用して印刷します。
\item
一致する各行の先頭を.My疑似コードに置き換えたいと思います。問題はここのコードにあります
s/\n/\project/g
列挙コンテキストで項目を適用します。
どのように
ベストアンサー1
あなたは使用することができます..
または範囲オペレータは交換を開始/終了部分に制限します。
while (<DATA>) {
if ( /\\begin/ .. /\\end/ ) {
s/^(?!\\)/\\item /;
}
print;
}
__DATA__
7. Masi is the same as
\begin{enumerate}
A
B
ABC ha lorem
\end{enumerate}
1. ABC is
\begin{enumerate}
P
B
Lorem maam
\end{enumerat
コマンドラインスクリプトを好む場合:
perl -ne 'if (/\\begin/../\\end/) {s/^(?!\\)/\\item /};print'
または暗黙的に短いものを使用してくださいprint
。
perl -pe 'if (/\\begin/../\\end/) {s/^(?!\\)/\\item /}'
これは(?!...)
否定的な配信の主張です。