正则表达式找到一个句号没有终止的句子

时间:2015-08-20 14:04:18

标签: regex perl

在ms。的书中,我的数字标题采用以下形式之一:

cap=['"]Figure caption['"]  (with matching ' or ")
\caption{Figure caption}    (a LaTeX caption)

其中样式要求所有字幕都由.终止,即

\caption{Figure caption.}

不幸的是,写作时我并不一致,所以只有一些字幕符合这种风格,我在~100个文件的文件树中有大约300个数字,所以我想找到一个perl解决方案来找到问题案例并进行更正而不是手动编辑。

有人可以帮忙吗?

让我尝试使用我的文件中的一些测试用例来更精确。对于\caption{}问题,这里有一些来自我的文件的示例行。前三个用.正确终止。其余内容需要在标题关闭.之前附加}。请注意,标题中可以有多个句子,而同一行上的其他LaTeX材料可以。

\caption{CA plot and mosaic display for the TV viewing data. The days of the week in the mosaic plot were permuted according to their order in the CA solution.}
\caption{Stacking approach for a three-way table. Two of the table variables are combined interactively to form the rows of a two-way table.}\label{fig:stacking}
\caption{Overview of fitting and graphing for model-based methods in \R.}
\caption{Each way of stacking a three-way table corresponds to a loglinear model}\label{tab:stacking}
\caption{CA biplot of the suicide data, showing calibrated axes for the suicide methods}
\caption{Arthritis treatment data, for the relationship of the binary response ``Better'' to Age}
\caption{Space shuttle data, with fitted logistic regression model}
\caption{Observed (points) and fitted (lines) log odds of admissions in the logit models for \data{UCB}}

1 个答案:

答案 0 :(得分:0)

(\\caption{[^}]*[^\.]}|cap=(['"]).+[^\.]\2)

https://regex101.com/r/kW9yZ3/2

这个适用于您为\caption{}格式提供的案例,以及我为cap="..."格式提供的一些示例。