Кто-нибудь поможет мне. Я пытался заставить это регулярное выражение работать, и это почти там. Все они кажутся правильными, но первое должно быть:
слово: эль, ля
пол: искусство
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
Этот был немного волосатым, но в конце концов, потребовалась лишь небольшая корректировка:
^
(?<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)
Результаты выглядишь хорошо для меня сейчас.
Других решений пока нет …