正则表达式模式匹配连接
是否可以仅使用
Regex语法连接正则表达式模式匹配的结果?
具体的实例是一个程序允许正则表达式语法从文件中提取信息,但我希望它从几个部分拉出并连接结果. 例如: 输入字符串:1234567890 期望的结果字符串:2389 正则表达式模式匹配:(?< = 1). (?= 4)%%(小于?= 7). (θ= 0) 其中%%表示某种形式的连接语法.使用语法的开始和结束很重要,因为我知道字段名称而不是字段的值. 是否存在像%%一样的关键字?有更聪明的方法吗?必须更改代码以允许多个正则表达式输入,自动连接? 同样,要连接的部分可能相隔很远,其间有未知字符.所有已知的是围绕子串的信息. 2011-08-08编辑:该程序是用C#编写的,但与找到基于正则表达式的解决方案相比,更改代码是一项重大任务. 解决方法
如果不确切地知道你想要匹配什么以及你正在使用什么语言,就不可能给你一个确切的答案.但是,通常的方法是使用
grouping.
在C#中: string pattern = @"(?<=1)(.+)(?=4).+(?<=7)(.+)(?=0)"; Match m = Regex.Match(input,pattern); string result = m.Groups[0] + m.Groups[1]; 同样的方法也可以应用于许多其他语言. 编辑 如果您无法更改代码,那么就无法完成您想要的任务.原因是在C#中,正则表达式字符串本身对输出没有任何影响.要更改结果,您必须更改Regex类的被调用方法,或者之后再做一些额外的工作.实际上,调用的方法很可能只返回Match对象或匹配对象列表,无论输入正则表达式字符串如何,它们都不会执行您想要的操作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |