有一个字符串是:#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的结果,谢谢。
...全文
222 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();
        }
代码下载地址: https://pan.quark.cn/s/30aac9886e4b 【汉字录入能力评估平台】是中国邮政为了增强员工汉字输入的效率与精确度而研发的一款专业化训练与考核平台。该平台主要面向中国邮政服务窗口工作人员的岗前培训,致力于保障工作人员在实际操作中能够迅速且精准地处理各类文字资料,进而优化邮政服务的效能与品质。文字录入作为邮政作业中的核心技能,在数字化时代背景下尤为重要,邮政柜员需处理大量电子化文档及电子邮件,卓越的文字输入技巧直接关联到业务流程的连贯性。该平台整合了训练与测试两大核心功能,为用户构建了一个全方位提升汉字输入技巧的环境。平台的训练模块可能具备以下特征:1. **入门级训练**:提供不同难度的汉字及词汇组合,引导用户从基础开始,逐步强化录入速度。2. **情境化模拟**:重现真实的邮政作业场景,让实践者于近似现实的工作状态下进行练习,提升环境适应力。3. **速录强化**:运用计时及计字量机制,要求用户在限定时段内尽可能多地完成汉字输入,以锻炼高速录入能力。4. **偏差修正**:系统将实时识别并反馈用户的输入偏差,协助用户纠正不良输入习惯,提升正确度。5. **定制化配置**:或许允许用户依据个人需求调整训练内容与难度,实现个性化学习路径。测试模块则可能包含以下要素:1. **标准化测试**:确立统一的标准,例如规定时间内必须完成的汉字数量或必须达到的准确率,以此衡量用户汉字输入的熟练程度。2. **表现追踪**:记载每次测试的表现,形成历史数据,使用户能够追踪自身成长轨迹。3. **绩效对比**:或许设有内部绩效排行机制,让用户了解自身在团队中的相对位置,激发竞争心态。4. **资格认证**:对于达到特定标准的用户,平台可...
内容概要:本文围绕售电市场环境下电力用户选择售电公司的行为展开深入研究,通过构建数学模型与博弈分析框架,系统探讨用户在不同电价机制、服务质量、合同条款及风险偏好等因素影响下的决策行为与选择偏好。研究采用Matlab作为仿真平台,结合实证数据或设定典型场景,运用主从博弈、多智能体模拟、优化算法等方法,模拟电力市场中多方主体之间的交互过程,重点分析售电公司定价策略、激励机制与用户响应之间的动态关系,揭示市场主体间的行为演化规律与均衡机制,旨在为电力市场化改革中的机制设计、市场监管与政策制定提供理论支撑与量化依据。; 适合人群:具备一定电力系统基础知识、微观经济学或博弈论理论背景,熟悉Matlab编程与数值仿真的科研人员、高校研究生及能源领域相关从业者。; 使用场景及目标【EI复现】售电市场环境下电力用户选择售电公司行为研究(Matlab代码实现):①掌握电力市场中用户购电行为建模与效用函数设计方法;②熟练运用Matlab实现博弈模型构建、多智能体仿真与市场均衡求解;③深入理解售电侧市场竞争机制,为售电公司制定差异化营销策略、政府设计用户激励政策及提升市场运营效率提供决策支持。; 阅读建议:此资源以Matlab代码实现为核心,建议读者结合文档说明逐步运行并调试代码,通过调整模型参数(如电价水平、服务权重、用户敏感度等)观察仿真结果的变化,深入理解模型内在逻辑与行为机理;同时鼓励在此基础上拓展至多类型用户群体、引入不确定性因素或结合实际数据进行案例验证,以增强研究的实用性与创新性。

111,131

社区成员

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

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

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