Регулярное выражение для иврита и символов

Мне нужно выражение, которое может принимать только буквы иврита и хотя бы один пробел.

Я попробовал это для букв иврита, но он не соответствует предложениям с текстом и пробелами на иврите:

result = Regex.IsMatch(txtName.Text, @"[\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA]");

Как я могу представить все буквы иврита и хотя бы один пробел в регулярном выражении?


person user2922456    schedule 26.09.2014    source источник
comment
Вы пробовали что-нибудь? Небольшое предложение: если вы что-то пробовали... опубликуйте это, вас не проголосуют! Диапазон UNICODE символов иврита: от 0x0590 до 0x05ff, пробелы могут быть представлены \s, а с + вам потребуется один или несколько из них... это регулярное выражение должно соответствовать ему: [\u0590-\u05ff]+\s+   -  person Adriano Repetti    schedule 26.09.2014
comment
Примечание: много пробовал, на самом деле не показывает никаких усилий. Даже одна примерная строка кода, показывающая, что вы на самом деле пробовали, скорее всего, избежит всех отрицательных отзывов. То же самое будет часто искать, если вы когда-нибудь решите добавить это в свои сообщения - покажите свой поисковый запрос / лучший результат, который вы нашли, и будет ясно, что не так (все люди будут знать, что вы ищете на dinsney.com).   -  person Alexei Levenkov    schedule 26.09.2014
comment
Взгляните на stackoverflow.com/a/9242066/1043380.   -  person gunr2171    schedule 26.09.2014
comment
@AdrianoRepetti - теперь вопрос выглядит реальным - подумайте о том, чтобы опубликовать свой комментарий в качестве ответа, также предложение gunr2171 показывает гораздо лучший подход - должно быть дублировано (но я уже израсходовал свой голос :))   -  person Alexei Levenkov    schedule 26.09.2014
comment
@AdrianoRepetti Я попробовал то, что вы предлагаете, это работает, только если у меня есть одно слово. Если я ввожу предложение для проверки и другие слова на английском языке, флаг не «поднимается»... Как исправить это, чтобы оно работало для многих слов?   -  person user2922456    schedule 26.09.2014


Ответы (1)


Вы ищете выражение, похожее на @"[\p{IsHebrew} ]+" - хотя бы один символ иврита или пробел. Чтобы соответствовать всему предложению, добавьте якоря начала/конца - @"^[\p{IsHebrew} ]+$".

Подробное объяснение см. в регулярном выражении на иврите или английском языке и < a href="http://msdn.microsoft.com/en-us/library/20bw873z(v=vs.110).aspx#SupportedUnicodeGeneralCategories" rel="nofollow noreferrer">Классы символов C#/.Net в регулярных выражениях< /а>.

person Alexei Levenkov    schedule 26.09.2014
comment
+1 за \p{IsHebrew}, я должен следить за каждым вопросом с тегом [regex], всегда есть что-то новое, что можно узнать... - person Adriano Repetti; 26.09.2014