PDA

View Full Version : سوال: Unicode در Regular Expression



Javad.Kashi
پنج شنبه 02 تیر 1390, 07:57 صبح
سلام به دوستان
هنگام استفاده از RegExp برای نام در انگلیسی از Pattern زیر استفاده می کنیم:

^[a-zA-Z''-'\s]{1,40}$

ولی استفاده آن در عبارات Unicode با مشکل روبه رو می شه.مشکل بنده با عبارت مذکور نیست.
می خواستم بدونم چگونه می توان به RegExp فهماند که عبارت Unicode می باشد؟
با سپاس

mehdi.mousavi
سه شنبه 14 تیر 1390, 10:49 صبح
سلام به دوستان می خواستم بدونم چگونه می توان به RegExp فهماند که عبارت Unicode می باشد؟ با سپاس

سلام.
کد کاراکترهای Unicode زبان فارسی بین بازه 600 تا 6FF (هگز) قرار گرفته (یعنی دسیمال 1536 تا 1791). بنابراین، برای پیدا کردن کاراکترهای فارسی در یک متن، می تونیم از Pattern زیر استفاده کنیم:

[\u0600-\u06FF]+

البته برخی از این حروف که بهش Arabic Presentations Form A گفته میشه نیز در بازه 0xFB50-0xFDFF قرار گرفته اند (و همینطور باید مراقب Arabic Presentations Form B هم باشید). توضیحات بیشتر در مورد این Range ها رو می تونید در این آدرس (http://www.ssec.wisc.edu/%7Etomw/java/unicode.html) مطالعه کنید.

موفق باشید.