匹配此网址需要哪些正则表达式:
匹配度:
1234
1234/
1234/article-name
不匹配:
1234absd
1234absd/article-name
1234/article.aspx
1234/any.dot.in.the.url
答案 0 :(得分:1)
^\d+(/?)|(/[a-zA-Z-]+)$
这可能有效。或不。希望它有所帮助
答案 1 :(得分:1)
您可以尝试:
^\d+(?:\/[\w-]*)?$
这匹配字符串开头的非空数字序列,后跟可选后缀/
和一个(可能为空)字符序列(字母,数字,下划线)和-
。
匹配(see on rubular):
1234
1234/
1234/article-name
42/section_13
但不是:
1234absd
1234absd/article-name
1234/article.aspx
1234/any.dot.in.the.url
007/james/bond
您不需要这样做,但如果您根本不能使用括号,则可以随时扩展到更改:
^\d+$|^\d+\/$|^\d+\/[\w-]*$
答案 2 :(得分:0)
希望这会帮助你........
string data = "1234/article-name";
Regex Constant = new Regex("(?<NUMBERS>([0-9]+))?(//)?(?<DATA>([a-zA-Z-]*))?");
MatchCollection mc;
mc = Constant.Matches(data,0);
if (mc.Count>0)
{
for (int l_nIndex = 0; l_nIndex < mc.Count; l_nIndex++)
{
string l_strNum = mc[l_nIndex].Groups["NUMBERS"].Value;
string l_strData = mc[l_nIndex].Groups["DATA"].Value;
}
}