Regex 什么';匹配区域性名称的正则表达式是什么?
我想使用正则表达式来过滤区域性名称(如en-US或pt-BR)。有人知道吗?试试这个:Regex 什么';匹配区域性名称的正则表达式是什么?,regex,Regex,我想使用正则表达式来过滤区域性名称(如en-US或pt-BR)。有人知道吗?试试这个: ^[a-z]{2}-[A-Z]{2}$ 或更一般(见): @秋葵是对的。测试: 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) 结果显示它是匹配的。如果您想遵循文化名称的格式(谁是-,其中是语言代码,是亚文化代码) 示例
^[a-z]{2}-[A-Z]{2}$
或更一般(见):
@秋葵是对的。测试:
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)
结果显示它是匹配的。如果您想遵循文化名称的格式(谁是-
,其中
是语言代码,
是亚文化代码)
示例:“en”、“en-UK”、“fr”、“fr-fr”
使用此正则表达式:
^[a-z]{2}(-[A-Z]{2})*
C#代码示例
Regex.IsMatch(culture, @"^[a-z]{2}(-[A-Z]{2})*$")
谢谢不幸的是,我的ASP.NET MVC2路由无论如何都不起作用:/@Rodrigo Waltenberg:请注意,
^
和$
分别标记字符串的开头和结尾。也许你需要一个没有这些锚的正则表达式。为了使它能够与bash一起工作,需要做些什么?对于grep,请不要发布这样的非答案。如果你有答案,就把它贴出来。如果你对某个答案发表评论,请发表评论。谦虚的道歉。我以后会照顾你的。谢谢。:)这与zh Hans
不匹配。。。。
Regex.IsMatch(culture, @"^[a-z]{2}(-[A-Z]{2})*$")