我需要在我的webapp中使用正則表達式,它允許捷克字符(ěščřžýáíéóúůďťňĎŇŤŠČŘŽÝÁÍÉÚŮ)。目前我有在正則表達式中使用捷克字符
[a-zA-Z]*\w{1,20}
但是這不允許輸入它們。由於
我需要在我的webapp中使用正則表達式,它允許捷克字符(ěščřžýáíéóúůďťňĎŇŤŠČŘŽÝÁÍÉÚŮ)。目前我有在正則表達式中使用捷克字符
[a-zA-Z]*\w{1,20}
但是這不允許輸入它們。由於
var words = Regex.Matches(inputstr, @"[ěščřžýáíéóúůďťňĎŇŤŠČŘŽÝÁÍÉÚŮa-zA-z]{1,20}")
.Cast<Match>()
.ToArray();
替代解決方案(僅適用於.NET):
[\p{Ll}\p{Lu}]{1,20}
這是什麼編碼?它爲什麼只適用於.NET? – 2012-03-13 22:51:55
@Dan它們是[unicode字符類](http://msdn.microsoft.com/en-us/library/20bw873z#CategoryOrBlock)用於大寫和小寫字母,它們不能在純JavaScript中工作,只能在.NET代碼隱藏邏輯中使用。 – 2012-03-13 23:50:16
而把字符自己在正則表達式不起作用? – 2012-03-04 19:22:47
如果您的意思是[a-zA-Zěščř] * \ w {1,20},不,它不起作用 – polohy 2012-03-04 19:25:08
您是否需要將其限制爲捷克字符還是來自其他語言的字母? – svick 2012-03-04 19:27:02