Я пишу пример приложения, в котором я наткнулся на следующую проблему:метод для проверки соответствующих открытия/закрытия «скобки»
Я должен проверить персонажей с точки зрения их «совместимости».
boolean checkIfPairCorrect(Character c1, Character c2) {...}
Вкратце это выглядит так: «Проверьте, правильно ли эти символы создают правильную пару« открыть-закрыть ». Например:
Пары "(" и ")" возвращает TRUE,
пары "{" и "}" возвращает TRUE,
пары "(" и "}" возвращает FALSE, // incompatibile скобки
пар ")»и„(“возвращает FALSE // неправильный порядок
пару„а“и„3“возвращает FALSE //„A“или„3“не символы, для которых„закрытия“символ можно найти
Вы сказали бы: «Просто напишите регулярного человека !!!», используя некоторую интернет-помощь, например:
Regular Expression to match outer brackets
Regex to restrict only one occurrence of open and close brackets using C#
Regexp and brackets article
И вы были бы правы, но ... Проблема трудно для меня, потому что функция может принимать какие-то экзотические символы в качестве параметров (UTF-8 кодирование), как японский, турецкий, арабский и т. д. Я не знаю, какие символы можно рассматривать как пару с открытым концом на других языках (культурах), поэтому я ищу библиотеку, которая может решить мою проблему.
Вопрос: Знаете ли вы какую-либо библиотеку, которая может быть полезной в моем случае, или у вас есть какие-либо рекомендации по ее устранению?
Я думаю, что после [этого ответа] (http://stackoverflow.com/a/546457/335858) было бы ясно, что вы не можете делать это в regexp, даже теоретически: модель regexp не поддерживает подсчет , Это неправильный инструмент для работы. – dasblinkenlight
@ dasblinkenlight это не о разборке более длинного текста, а о поиске пары для персонажа. И вы можете сделать это с регулярным выражением. – hyde
@hyde Да, вы правы. –