У меня проблема с регулярным выражением в такой ситуации: мне нужно извлечь (и заменить) все точки из такой конструкции:
any_symbols->white_space->x.(or xx. or Xx. or xX. or xy. or yy. etc.)->white_space->any_symbol_not_upper_case_and_not_a_digit
например
1990 x. abcd - extract dot
ffff xx.abcd - extract dot
1990 x. Abcdef - do not extract
abcd x. Abcd - do not extract
abcd x. 1990 - do not extract
Так что япостроил такое регулярное выражение:
(?<=\s[XxYy]{1,2})\.(?>=\s+?[^\p{javaUpperCase}\d])
Но оно не соответствует.Так что не так?
Спасибо
PS
После
String skipPtrn="(?<=\\s[РрГг]{1,2})\\.(?>=\\s+?[^\\p{javaUpperCase}\\d])";
originalText=originalText.replaceAll(skipPtrn, " ");
Я все еще нахожу в тексте:
1673 р.з'явився
У 1623 р.через
у 1925 р.("Вiсник
и т. Д.