我想使用正则表达式来过滤文化名称(例如en-US或pt-BR)。任何人都有任何想法?
答案 0 :(得分:13)
答案 1 :(得分:1)
如果您希望遵循文化名称的RFC 4646格式(<languagecode2>-<country/regioncode2>
,其中<languagecode2>
是语言代码,<country/regioncode2>
是亚文化代码)
示例:&#34; zh&#34;,&#34; en-UK&#34;,&#34; fr&#34;,&#34; fr-FR&#34 ;,...
使用此正则表达式:
^[a-z]{2}(-[A-Z]{2})*
C#代码示例
Regex.IsMatch(culture, @"^[a-z]{2}(-[A-Z]{2})*$")
答案 2 :(得分:0)
@Gumbo是对的。测试:
In [1]: import re
In [2]: reg = re.compile("^[a-z]{2}-[A-Z]{2}$")
In [3]: url = 'en-US'
In [4]: m = reg.match(url)
结果显示它匹配。