Надеюсь, этот заголовок имеет смысл - мне нужно сопоставление регулярных выражений без учета регистра в BlackBerry 5.
У меня есть регулярное выражение, определенное как:
public static final String SMS_REG_EXP = "(?i)[(htp:/w\\.)]*cobiinteractive\\.com/[\\w|\\%]+";
Оно предназначено для соответствия cobiinteractive.com /"с последующим текстом.Предыдущее (htp: w.) Только там, потому что на моем устройстве мне нужно было переопределить внутреннее распознавание ссылок, которое применяет телефон (бесстыдный взлом).
Приложение загружается при запуске.Идея состоит в том, что я хочу получить ссылки на свой сайт из смс и электронной почты и обработать их с помощью моего приложения.
Я добавляю его в PatternRepository, используя:
PatternRepository.addPattern(
ApplicationDescriptor.currentApplicationDescriptor(),
GlobalConstants.SMS_REG_EXP,
PatternRepository.PATTERN_TYPE_REGULAR_EXPRESSION,
applicationMenu);
- На симуляторах os 4.5 / 4.7 и на устройстве Curve 8900 (работает на 4.5) это работает.
- На симуляторах os 5 и Bold 9700, которые я тестировал, приложение не может скомпилировать шаблон с IllegalArgumentException ("нераспознанный символ после (?") .
Я также пытался (наивно) установить шаблон на "/ rockstar / i", но это соответствует только точной строке -возможно, это правильное направление, но если это так, я не знаю, как реализовать его на BB.
Как бы я изменил свое регулярное выражение, чтобы подобрать шаблоны без учета регистра, используяPatternRepository, как указано выше?
PS: будет ли "правильный" способ использовать шаблон [Cc] [Oo] [Bb] [Ii] 2 ... и т.д.? Это нормально для короткой строки,но я надеюсь на более общее решение, если это возможно?