Как добавить пробел & amp; знаки препинания, чтобы захватить первую группу с регулярным выражением? Как остановить разделение определенных вкладок на два столбца в LibreOffice?

Кто-нибудь поможет мне. Я пытался заставить это регулярное выражение работать, и это почти там. Все они кажутся правильными, но первое должно быть:

слово: эль, ля
пол: искусство
word_en: (+ m, f)

Первая тестовая строка:

1

el, la art the (+m, f)
• el diccionario tenía también frases útiles – the dictionary also had
useful phrases
2055835 | 201481381

Другая проблема заключается в том, что я пытался просто скопировать информацию. из раздела «Замена» в LibreOffice. Все, что я хочу сделать, это создать 6 столбцов для данных. Проблема в том, что 6-й столбец (sent_en) может иногда делиться между столбцами «G» и «A», а не все данные для sent_en, находящиеся в столбце «G». Если вы скопируете данные ниже «Замена» в LibreOffice Calc, вы лучше поймете, что я имею в виду. Я просто не могу понять это, и если кто-то может мне помочь, я буду очень признателен. Благодарю.

Вот ссылка https://regex101.com/r/m3yySN/2/

^

(?<frequency>[0-9]+) \W+
(?<word>\pL+\W?) \h+
(?<gender> [\pL()]+ (?:, \h* [\pL()]+)* ) \h+
(?<word_en> [^•]*[^•\s]) \h* \R

• \h*
(?<sent_esp> [^–]*[^\s–] ) \s*–\s*
(?<sent_en> .* (?:\R .*)*? ) \h* \R

(?<num1> [0-9]+) \h* \| \h*
(?<num2> .*\S)

\1\t\2\t\3\t\4\t\5\t\6\t

1

Решение

Этот был немного волосатым, но в конце концов, потребовалась лишь небольшая корректировка:

^
(?<frequency>[0-9]+) \W+
(?<word>\pL+(?:,\h\pL+|\W)*) \h+
(?<gender> [\pL()]+ (?:, \h* [\pL()]+)* ) \h+
(?<word_en> [^•]*[^•\s]) \h* \R
• \h*
(?<sent_esp> [^–]*[^\s–] ) \s*–\s*
(?<sent_en> .* (?:\R .*)*? ) \h* \R
(?<num1> [0-9]+) \h* \| \h*
(?<num2> .*\S)

Результаты выглядишь хорошо для меня сейчас.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]