Мне нужно регулярное выражение для проверки только точки, но для работы с любыми точками на любых языках. Я нашел \ p {P}, который работает для всех знаков препинания, но мне нужна только точка оттуда, и мне не удалось найти никакого регулярного выражения. Например, на китайском или японском языке это。
на китайском или японском это:。
Вы должны сообщить нам, на каких языках. У китайцев точка 。
.
@Cid Другие языки могут иметь другие символы точки.
Если вы знаете все «точки» на всех языках, то можете просто указать их все в своем регулярном выражении.
Мне нужно сопоставить точки на всех языках, не перечисляя их все. пока я просто знаю, что в китайском и японском все по-другому.
Вы можете поиск по таблице юникода для фразы «точка» или «период» и создать регулярное выражение на этой основе.
Итак, вы нашли \p{P}
, который работает со всеми знаками препинания, вам нужна только точка оттуда, то есть \\.
, но вы также хотите сопоставить точки на всех языках? Это то, что делает \p{P}
, верно?
Каков вариант использования?
@Mark да, но \ p {P} в нем не только точка, но и другие символы
Просто поместите все желаемые точки в класс символов, например [...]
.
Зачем вы это делаете, хотите разбивать предложения?
String language = this.getLocale().getLanguage(); String dotRegEx = "\\" + (language.equals("zh") || language.equals("ja") ? "。" : ".");
. Тернарный - если язык локали китайский или японский, используйте китайский / японский символ для точки (。), в противном случае используйте точку (.).
Взгляните на Интерпункт для символов Unicode "точка"
Вы просто имеете в виду, что хотите сопоставить точку, например
\\.
?