11分 |
你这个直接Split下,然后判断你要找的在第几个索引位置,然后获取它下一个索引的代码,不要什么都正则……
static string NextStr(string inputStr) { string txt = @"#10|#11|#12|#101|#110|#120"; var list = txt.Split(""|"").ToList(); for (var i = 0; i < list.Count - 2; i++) { if (list[i] == inputStr) { return list[i + 1]; } } return null; } |
var g:RegExp=new RegExp(“(#10|#11|#12|#101|#110|#120)$”,”g”)
貌似这个正则就是可以的 |
|
var g:RegExp=new RegExp(“#10|#11|#12|#101|#110|#120″,”g”)
var a1:Array=”#101 的的”.match(g); var a2:Array=”#12 的的”.match(g); 刚才问题说错了,需要这样的匹配,然后还要匹配到#101,不要#10,谢谢了。 |
|
11分 |
string txt = @"#10|#11|#12|#101|#110|#120"; Console.WriteLine(Regex.Match(txt, @"#120", RegexOptions.RightToLeft).Value); 你的都不是C#,而且你的字符串是被用作了正则匹配 |
var g:RegExp=new RegExp(“#10|#11|#12|#101|#110|#120″,”g”)
var a1:Array=”#101 的的”.match(g); //这里有汉字 var a2:Array=”#12 的的”.match(g); //这里有汉字 刚才问题说错了,需要这样的匹配,然后还要匹配到#101,不要#10,谢谢了。 然后不要用RegexOptions.RightToLeft,就是在正则表达式里加参数实现,谢谢了。 |
|
好了,没事了,直接把#101,#110,#120等数字大的,能包含前面如:#20这样的数字,放在最前面即可。。。。也就是:
var g:RegExp=new RegExp(#101|#110|#120|”#10|#11|#12″,”g”) |
|
10分 |
private static void Func1(string matchStr) { string str = "#10|#11|#12|#101|#110|#120"; var list = str.Split(""|"").ToList(); var match = list.Where(r => r.Contains(matchStr)).LastOrDefault(); } |