/ / намиране на низ от случайни знаци (с възможни грешки) в голям низ от случайни знаци - java, regex

намиране на низ от произволни знаци (с възможни грешки) в рамките на голям набор от произволни знаци - java, regex

Опитвам се да търся голям низ без пространстваза по-малък низ от символи. с помощта на regex мога лесно да намеря перфектни съвпадения, но не мога да разбера как да намеря частични съвпадения. чрез частични съвпадения имам предвид един или два допълнителни символа в низ или един или два знака, които са били променени, или един от всеки. Първият и последният символи винаги ще съвпадат, но това ще бъде подобно на проверка на правописа, но няма интервали и низовете не съдържат действителни думи, а само случайни шестнадесет цифри.

помислих как да намеря низ, ако имабез допълнителни символи, които използват indexOf (string.charAt (0)) и indexOf (charAt (string.length () - 1) и преливат символите между двата индекса, но това може да бъде проблематично, когато се работи с рандомизирани символи поради възможността за намиране на първия и последния знак на правилното разстояние, но нито един от средните символи не съвпада.

Аз съм чесал главата си с часове по този въпрос. някакви идеи?

Отговори:

1 за отговор № 1

Ето една статия Открих, че показва как ще работи простата проверка на правописа. Знам, че не правите проверка на правописа, но идеите биха били подобни.

Това ми напомни малко алгоритъм за най-близък съсед, Използвах алгоритъма за най-близкия съседнаправете разпознаване на жестове. Но жестовете наистина бяха само 2d точки и аз бих използвал най-близкия съсед, за да разбера кой жест изглежда най-близък до този жест, дори ако точките не са били същите. да направим нещо по същия начин с това, което се опитвате да направите.


0 за отговор № 2

Ако приемем, че вашият низ за търсене е, да речем, дълъг 6 знака, а първият и последният знак са "A" и "Z", след това

A.{4}Z

ще съвпадне с всеки подстрока в по-големия низ, където първият и последният знак съответстват на правилното разстояние.

Това ли ви е необходимо?


0 за отговор № 3

Онова, което се опитвате да направите, много прилича на вида на струнните съвпадения, които биоинформатиците правят съвпадение на ДНК последователности и подобни. Това е под термина подравняване на последователности.