У меня есть следующая проблема с текстовым файлом латекса, который состоит из нескольких предложений, например.Regex, чтобы соответствовать определенному шаблону несколько раз в предложении
Aaa \cref{fig:1}. Bbb \cref{fig:2} bbb \cref{fig:3}. Ccc \cref{fig:4}. Ddd \cref{fig:5} ddd \cref{fig:6} ddd \cref{fig:7}.
Что мне нужно, чтобы узнать, как изолировать \cref{fig:xxx}
части в каждом предложении. Проблема в том, что регулярное выражение должно учитывать только предложения, в которых \cref{fig:xxx}
происходит более одного раза (> 1).
Хороший результат будет, если регулярное выражение может возвращать fig:2
и fig:3
из предложения ГЭБ, а также fig:5
, fig:6
и fig:7
из предложения ДДД.
Я должен использовать регулярные выражения для поиска в Textmate (texteditor).
Проблема в том, как определено предложение - заканчивается ли она точкой? Что это должно делать с другими точками (например, например)? Оканчивается ли она символом новой строки? Что касается вашей второй части, вы можете создать регулярное выражение, например ['\\ cref {(fig: \ d +)}'] (https://regex101.com/r/qN3iP9/1) – Jan
Да, я вижу. .. Может ли это помочь, если начало предложения будет идентифицироваться точкой, а затем пробелом и начинается с прописного альпаномерного значения. Что-то вроде '\. \ S + [A-Z0-9]'. Конец предложения может быть идентифицирован точкой и некоторым пробелом '\. \ S +'. Я знаю, что это сложно, мне совершенно не хватает навыков для этого ... – hetsch
Вы можете использовать рекурсивный подход, см. [Обновленное демо] (https://regex101.com/r/qN3iP9/2), оно соответствует только предложение bbb, ddd и eee (я сделал это). Однако окончание предложения должно быть четким (er). – Jan