Ответ 1
Вам нужен класс с отрицанием, и для этого вам нужны квадратные скобки [ ... ]
. Попробуйте разделить с этим:
"[^\\p{InArabic}]+"
Если \\p{InArabic}
соответствует любому арабскому символу, то [^\\p{InArabic}]
будет соответствовать любому неарабскому символу.
Другим вариантом, который вы можете рассмотреть, является эквивалентный синтаксис, используя P
вместо P
, чтобы указать противоположность класса символов \\p{InArabic}
, например, @Pshemo:
"\\P{InArabic}+"
Это работает так же, как \\W
является противоположностью \\W
.
Единственное возможное преимущество, которое вы получаете с первым синтаксисом над вторым (опять же, как и упоминавшееся @Pshemo), состоит в том, что если вы хотите добавить других символов в список символов, которые не должны совпадать, например, если вы хотите для соответствия всем не \\p{InArabic}
за исключением периодов, первый из них более гибкий:
"[^\\p{InArabic}.]+"
^
В противном случае, если вы действительно хотите использовать \\p{InArabic}
, вам понадобится вычитание внутри классов:
"[\\P{InArabic}&&[^.]]+"