Но настоящая проблема - это ошибка, как вы говорите. С какой стати основная конструкция квантификаторов облажалась? Это не тот модуль, который вы должны включить в свой код.
ользую RegexKitLite, который в свою очередь использует ICU в качестве своего движка. Несмотря на документацию, регулярное выражение типа / x * / при поиске по «xxxxxxxxxxx» будет соответствовать пустой строке. Он ведет себя как / x *? / Должен. Я хотел бы обойти эту ошибку, когда она присутствует, и я рассматриваю возможность перезаписать любой неэкранированный * как +, когда совпадение с регулярным выражением возвращает результат 0 длины. Мое наивное предположение состоит в том, что регулярное выражение с + s вместо * всегда будет возвращать подмножество правильных результатов. Каковы неожиданные последствия этого? Я иду правильным путем?
FWIW, ICU также предлагает оператор * +, но он также не работает.
РЕДАКТИРОВАТЬ: Я должен был быть более ясным: это для поля поиска интерактивного приложения. У меня нет контроля над регулярным выражением, которое вводит пользователь. Неправильная поддержка * кажется ошибкой в ICU. Я бы хотел, чтобы мне не нужно было включать это POS в мой код, но это единственная игра в городе.