【问题标题】:Use czech chars in regular expression在正则表达式中使用捷克字符
【发布时间】:2012-03-04 19:18:34
【问题描述】:

我需要在我的 web 应用程序中使用正则表达式,它允许使用捷克语字符 (ěščřžýáíéóúůďťňĎŇŤŠČŘŽÝÁÍÉÚŮ)。目前我有

[a-zA-Z]*\w{1,20}

但这不允许输入它们。谢谢

【问题讨论】:

  • 把字符本身放在正则表达式中不起作用?
  • 如果你的意思是 [a-zA-Zěščř]*\w{1,20},不,它不起作用
  • 您需要将其限制为仅限捷克语字符还是也允许其他语言的字母?
  • 好吧,其实没关系,我只想允许字符,所以多个字符集不会受到伤害
  • 捷克字母列表中缺少这两个大写字母:ĚÓ

标签: c# asp.net regex


【解决方案1】:
var words = Regex.Matches(inputstr, @"[ěščřžýáíéóúůďťňĎŇŤŠČŘŽÝÁÍÉÚŮĚÓa-zA-z]{1,20}")
                .Cast<Match>()
                .ToArray();

【讨论】:

  • 好的,如何在aspx文件中设置? (我也在做客户端验证)
  • 你的问题是关于正则表达式而不是 aspx。尝试用上面的字符串替换你的[a-zA-Z]*\w{1,20}
  • 捷克字母列表中缺少这两个大写字母:ĚÓ
  • @PROrock 添加了。
【解决方案2】:

替代解决方案(仅适用于 .NET):

[\p{Ll}\p{Lu}]{1,20}

【讨论】:

  • @Dan 他们是unicode character classes 用于大写和小写字母。它们不能在纯 JavaScript 中工作,只能在 .NET 代码隐藏逻辑中工作。
猜你喜欢
  • 2021-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-08
  • 2017-06-15
  • 1970-01-01
  • 2020-09-14
相关资源
最近更新 更多