有一个字符串是:#10|#11|#12|#101|#102|#103请问我如何用正则表达式从后面取第一个?

dbmonths 2015-04-22 11:45:33
有一个字符串是:#10|#11|#12|#101|#110|#120 请问我如何用正则表达式从后面取第一个?
也就是当我匹配#110的时候,不会去匹配第一个#11,而是匹配后面的110,谢谢

var g:RegExp=new RegExp("#10|#11|#12|#101|#110|#120","g")
var a1:Array="#110".match(g);
var a2:Array="#12".match(g);
a1结果:#11
a2结果:#12

我想得到a1是110的结果,谢谢。
...全文
210 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dbmonths 2015-04-22
  • 打赏
  • 举报
回复
好了,没事了,直接把#101,#110,#120等数字大的,能包含前面如:#20这样的数字,放在最前面即可。。。。也就是: var g:RegExp=new RegExp(#101|#110|#120|"#10|#11|#12","g")
dbmonths 2015-04-22
  • 打赏
  • 举报
回复
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,就是在正则表达式里加参数实现,谢谢了。
  • 打赏
  • 举报
回复
string txt = @"#10|#11|#12|#101|#110|#120";
            Console.WriteLine(Regex.Match(txt, @"#120", RegexOptions.RightToLeft).Value);
你的都不是C#,而且你的字符串是被用作了正则匹配
dbmonths 2015-04-22
  • 打赏
  • 举报
回复
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,谢谢了。
dbmonths 2015-04-22
  • 打赏
  • 举报
回复
var g:RegExp=new RegExp("(#10|#11|#12|#101|#110|#120)$","g") 貌似这个正则就是可以的
  • 打赏
  • 举报
回复
你这个直接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;
        }
zujinsheng 2015-04-22
  • 打赏
  • 举报
回复
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();
        }
SCARA机械臂的运动学建模与轨迹规划是工业机器人控制领域的关键技术。本研究项目以SCARA机械臂为对象,基于MATLAB机器人工具箱与CoppeliaSim仿真平台,构建了一套完整的运动学模型,并提出了多模式轨迹规划算法的实现方案。 在运动学建模方面,本研究重点解决正向运动学与逆向运动学两个核心问题。正向运动学根据给定的关节参数计算机械臂末端执行器的位姿;逆向运动学则针对期望的末端执行器位姿求解对应的关节参数。这两部分内容是机器人控制算法设计的理论前提。 轨迹规划作为机械臂路径规划的重要环节,决定了机械臂从起点运动至终点的过程。在此过程中,速度、加速度及加加速度等运动约束必须满足要求。本项目中的轨迹规划算法涵盖关节空间与笛卡尔空间两种模式:关节空间轨迹规划以关节角度、角速度和角加速度为规划对象;笛卡尔空间轨迹规划则聚焦于末端执行器的位移、速度及加速度。 在轨迹规划算法中,线性插值、抛物线插值及三次多项式插值是常用方法。线性插值适用于简单直线运动场景,实现方式直接高效;抛物线插值可在运动起始与结束阶段实现零速度与零加速度,适合平滑起停要求;三次多项式插值可生成更为平滑的轨迹,确保整个运动过程中速度与加速度连续,适用于对轨迹质量要求较高的情况。 本项目构建了可视化分析系统。利用CoppeliaSim平台将MATLAB计算所得的轨迹参数进行可视化展示,使用户能够直观观察SCARA机械臂的运动状态,实时监测各类运动参数变化,评估轨迹规划效果。系统开发需深入理解MATLAB编程、CoppeliaSim平台使用方法,并综合运用机械工程、机器人学及计算机仿真等多学科知识。本系统能够显著提升SCARA机械臂在实际应用中的智能化水平与运行灵活性。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧