Для версии \p{Alpha}
, которая работает с собственным набором символов Java, вместо этого она застряла и не может обрабатывать что-либо, кроме устаревших данных 1960-х годов, вам необходимо использовать
alphabetics = "[\\pL\\pM\\p{Nl]";
Для версииЧисла в том же смысле, вы должны выбрать, какой из них вы хотите:
ASCII_digits = "[0-9]";
all_numbers = "\\pN";
decimal_numbers = "\\p{Nd}"
, потому что какой из них применяется в зависимости от обстоятельств.Мы предполагаем, что вы скопировали одну из этих трех в переменную numeric
.
Предполагая, что затем вам понадобятся алфавитно-цифровые символы на основе приведенного выше определения, вы могли бы написать:если под буквенно-цифровыми цифрами подразумевается \w
смысл идентификаторов программы, вам нужно добавить кое-что.
identifier_chars = "[\\pL\\pM\\p{Nd}\\p{Nl}\\p{Pc}[\\p{InEnclosedAlphanumerics}&&\\p{So}]]";
Эта проблема подробно обсуждается в этом ответе , где выВы также найдете ссылку на мой альфа-код, который выполняет эти преобразования автоматически.Я надеюсь получить возможность переписать его, чтобы занять меньше места в эти выходные.