regex: я хочу проверить, есть ли в моем текстовом файле слова из английского словаря - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть текстовый файл с большим количеством санскритских слов.Но между ними есть некоторые английские предложения по ошибке.Его очень большой файл и трудно прокручивать и проверять.Так есть ли способ с помощью регулярных выражений, я могу найти любые соответствующие слова английского словаря в этом файле

duñkaraà me babhüvätra
     tvädåçaà mäna-bhaïjanam
ato 'tra muralé tyaktä
     lajjayaiva mayä priyä
aho bata mayä tatra
     kåtaà yädåk sthitaà yathä
tad astu kila düre 'tra
     nirvaktuà ca na çakyate
     The situation there cannot even be described here.
ekaù sa me tad vraja-loka-vat priyas
     tädåë mahä-prema-bhara-prabhävataù
vakñyaty adaù kiïcana bädaräyanir
     maj-jévite çiñya-vare sva-sannibhe
çré-parékñid uväca 
etädåçaà tad vraja-bhägya-vaibhavaà
     samrambhataù kértayato mahä-prabhoù
punas tathä bhäva-niveça-çaìkayä

В приведенном выше тексте я The situation there cannot even be described here. Так есть ли простой способ выяснить, есть ли словарь английского языкаслова.

Я использую Linux.Так что любая команда в порядке.Но предпочитаю использовать регулярные выражения.

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Я не знаком с Юникодом Linux.Но я могу дать вам несколько указаний.

  1. Согласно Wiki , санскритские символы принадлежат к блоку Unicode Деванагари.

  2. Блок Unicode в деванагари включен A8E0— A8FF.Вы можете найти здесь .

    Для конвертации в UTF8 вам могут понадобиться такие инструменты, как этот инструмент .

  3. Установите условие Regex, исключая блок Unicode Devanagari.

    \S+[^\s\xA8E0-\xA8FF.]+.*
    

Regex demo

Это будет легче найти предложения на английском языке.

0 голосов
/ 28 февраля 2019

Если каждое слово на «санскрите» всегда имеет специальный символ, такой как «then», то вы можете проверить соответствие регулярному выражению слова (\w+).

Так как это не относится к таким словам, как «priyas»', вам нужно проверить каждое слово в хранилище данных, которое содержит все английские слова.К сожалению, вы не можете проверить правильность английского слова любым другим способом.

Более быстрый поиск может быть выполнен с использованием trie .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...