У меня есть персидский текст, который, конечно, написан справа налево. Я хотел бы найти спряжения глаголов. Например, если применить приведенное ниже регулярное выражение (см. В reg101 )::
(\w+)(?=م|ی|یم|م|ن)
к последующим и заменить каждое совпадение на «برد» в качестве прошлого ствола
1008 * رفتم رفتی رفت رفتیم رفتید رفتند 1010 * پاشیدم پاشیدی پاشید پاشیدیم پاشیدید پاشیدند 1012 * خوردم خوردی خورد خوردیم خوردید خوردند
нужно получить три одинаковыхследующие строки:
بردم بردی برد بردیم بردید بردند # Я взял, вы (единственное число) взяли, он / она взяли, мы взяли, вы (множественное число) взяли, они взяли
بردم بردی برد بردیم بردید بردند
بردم بردی برد بردیم بردید بردند
Однако это возвращает следующие данные. * 10 * * * * * * رفت بردم بردید بردند
بردم بردی بردید بردم بردید بردند
بردم بردی خورد بردم بردید بردند
Я сделал неправильные курсив и жирный шрифт. Я пробовал и другие выражения регулярных выражений:
Если мы попробуем
(\ w {3}) (? = م | ی | یم | م | ن)?
возвращает правильный результат для
رفتم رفتی رفت رفتیم رفتید رفتند
и
(\ w {4}) (? = م | ی | یم | م | ن)?
вернет правильный результат, когда на вход введена третья строка, то есть
خوردم خوردی خورد خوردیم خوردید خوردند
или
(\ w {5}) (? = م | ی | یم | م | ن)?
вернет правильный результат, когда input - вторая строка, то есть
پاشیدم پاشیدی پاشید پاشیدیم پاشیدید پاشیدند
Если бы мы могли иметь регулярное выражениенапример, чтобы определить число внутри {} в \ w {5}, это единственное регулярное выражение будет перечислять спряжение глагола для любого данного глагола в неопределенной форме.
Любая помощь будет принята с благодарностью.
CS