Pracuję nad projektem, gdzie użytkownik wprowadza czytelnej wyszukiwarki ciąg z I LUB operatorów. daję trzy przykładywejściowe użytkownika Konwersja do regex
- a i (B i C) -> (= \ ba \ B?). (= (\ BB \ b) |?. (\ Bc \ b)). *
- a lub (b i C)
- (A lub b) i (C i d)
powyżej to próbki wejściowe I może dostać. Chcę wziąć to wejście i przekonwertować je na wyrażenie regularne. Czy to nie jest próbka kompilatora? Patrząc na to, widzę , co chcę zrobić, to przekonwertować komendę wysokiego poziomu na niski poziom. Czy masz jakieś sugestie na temat , w jaki sposób mogę osiągnąć powyższe? Czego chcę, należy przekazać regex do jsoup (pseudo selector: matchesOwn) i wysłać zapytanie do dokumentu HTML. Dziękuję za pomoc.
Jeśli masz gniazdowania wsporniki jak to '(()()) ((())())', nie można analizować je z regex w Java. – nhahtdh
Dziękuję za odpowiedź. Nie chcę analizować danych wejściowych za pomocą wyrażenia regularnego, chcę je przekonwertować na wyrażenie regularne. Zamiast prosić użytkownika o wyrażenie regex, proszę go o bardziej czytelną dla człowieka wersję. – alkis
Jak radzić sobie z faktem, że wyrażenia regularne mają porządek, ale ciągi wyszukiwania nie. jeśli użytkownik wejdzie w 'foo AND bar', oczekuje, że' bar foo' będzie pasował do tego, którego przykładu nie użyjesz. Czy też będziesz generował każdą permutację. – user1937198