Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Русские буквы в регулярных выражениях


Автор: 3,14 21.12.2005, 16:50
Не уверен правильно ли будет задать в регулярных выражениях выражение вида: [а-яА-Я]. Посему вопрос: "Как это сделать?".

Автор: LSD 21.12.2005, 16:53
Ну например через escape последовательности: [\\u0032-\\u0060\\u0064-\\u0070]. Только если будешь задавать в виде строковых литералов не забудь про удвоение слэшей.
Добавлено @ 16:54
Кстати а чем непосредственное задание, тебе не подходит?

Автор: 3,14 21.12.2005, 17:43
просто не уверен что будет работать коректно, вот и решил спросить, может кто уже сталкивался с этим.
Например, не знаю как в unicode, а в ASCII руские символы идут не подряд, и между ними есть всякий мусор.

Автор: LSD 21.12.2005, 17:50
Цитата(3)
в ASCII руские символы идут не подряд, и между ними есть всякий мусор

В виндовой идут подряд. Но это не важно, потому что регекспы в Java работают с юникодом, а там русские буквы идут подряд.

Автор: jer1 22.12.2005, 13:01
3,14> Не уверен правильно ли будет задать в регулярных выражениях выражение вида: [а-яА-Я].

LSD> Ну например через escape последовательности: [\\u0032-\\u0060\\u0064-\\u0070].
Только если будешь задавать в виде строковых литералов не забудь про удвоение
слэшей.

вроде [\\u0430-\\u044F\\u0410-\\u042F] во всяком случае запустив программу
java -jar <JDK_HOME>/demo/jfc/Font2DTest/Font2DTest.jar
получил для русских букв диапазон \u0410-\u044F:

хотя задавать некоторые буквы через unicode идея хорошая :-)

Добавлено @ 13:02
получил для русских букв диапазон: \u0410-\u044F

Автор: LSD 22.12.2005, 14:14
Цитата(jer1 @ 22.12.2005, 13:01)
получил для русских букв диапазон \u0410-\u044F:

У меня то же, просто в тот раз я числа от балды писал.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)