Мне нужно выражение, которое может принимать только буквы на иврите и хотя бы один пробел.
Я пробовал это для еврейских букв, но он не соответствует предложениям с ивритским текстом и пробелами:
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]");
Как я могу представить все буквы на иврите и хотя бы один пробел в регистре?
Вы ищете выражение, подобное @"[\p{IsHebrew} ]+"
- по крайней мере один символ либо иврит, либо пробел. Для соответствия всему предложению - добавьте начало/конец якоря - @"^[\p{IsHebrew} ]+$"
.
Подробное объяснение см. В регулярном выражении с ивритом или английским и С#/. Сетевые классы символов в регулярных выражениях.
\p{IsHebrew}
, я должен помнить, чтобы следить за каждым вопросом, помеченным [regex], всегда есть что-то новое, чтобы узнать ...
0x0590
до0x05ff
, пробелы могут быть представлены\s
и с помощью+
вам потребуется один или несколько из них ... это регулярное выражение должно соответствовать ему:[\u0590-\u05ff]+\s+