C#正则表达式:匹配字符串指定字符内容
来源:互联网 发布:河南网络流行的歌 编辑:程序博客网 时间:2024/05/18 03:44
1 功能需求
- 匹配字符串
“m1.large(vcpu 2,ram 4G)|c95f5529-47e8-46d4-85da-319eb9905a9b”.
- 目标字符串
vcpu: “2”,ram: “4”,id:“c95f5529-47e8-46d4-85da-319eb9905a9b”.
2 代码实现
using System;using System.Text.RegularExpressions;namespace RegexDemo{ class Program { static void Main(string[] args) { var flavorRef = "m1.large(vcpu 2,ram 4G)|c95f5529-47e8-46d4-85da-319eb9905a9b"; Regex regex = new Regex(@"(?<= )[^ \,G]+(?=\,|G)|(?<=\|)[^\|]+"); MatchCollection mc = regex.Matches(flavorRef); var cpu = mc[0].Value; //cpu:2 var ram = mc[1].Value; //ram:4 var id = mc[2].Value; //flavorId:c95f5529-47e8-46d4-85da-319eb9905a9b Console.WriteLine("cpu:" + cpu + " " + "ram:" + ram + " " + "id:" + id); Console.ReadKey(); } }}
+:匹配前面的子表达式一次或多次。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。
x|y:匹配x或y。例如,“z|food”能匹配“z”或“food”。“(z|f)ood”则匹配“zood”或“food”。
[^xyz]:负值字符集合。匹配未包含的任意字符。例如,“[^abc]”可以匹配“plain”中的“p”。(?=pattern):正向肯定预查。例如,“Windows(?=95|98|NT|2000)”能匹配“Windows2000”中的“Windows”。
(?<=pattern):反向肯定预查。例如,“(?<=95|98|NT|2000)Windows”能匹配“2000Windows”中的“Windows”。
4 附:正则表达式参考手册
http://tool.oschina.net/uploads/apidocs/jquery/regexp.html
阅读全文
0 0
- C#正则表达式:匹配字符串指定字符内容
- C#正则表达式怎么匹配指定字符串第一次出现之前的内容
- 正则表达式匹配指定字符之间的内容,不含首尾字符
- 正则表达式截取指定字符串内容
- Asp.net的正则表达式,匹配指定的字符和字符串。
- C#正则表达式匹配任意字符
- c#正则匹配指定地址指定div内容
- 使用C#正则表达式匹配相关字符串
- C#正则表达式匹配替换字符串
- C#正则表达式匹配相关字符串
- python re 正则表达式总结 匹配指定字符
- 正则表达式字符匹配
- 正则表达式字符匹配
- js正则表达式 匹配两个特定字符间的内容
- 正则表达式匹配两个特殊字符中间的内容
- js正则表达式 匹配两个特定字符间的内容
- 正则表达式找程序实用例子:正则表达式匹配不报含指定字符串,匹配后面跟着指定字符串
- C#正则表达式只替换指定第几次匹配…
- winfrom中TCP传值
- leetcode刷题指南
- delphi Format格式化函数
- English
- vue性能优化
- C#正则表达式:匹配字符串指定字符内容
- 什么是RESTful?
- inux如何查看log日志文件某个字符串最后出现的地方
- leetcode题解-647. Palindromic Substrings && 5. Longest Palindromic Substring
- AngularJS关键字查询
- 无线模块调试
- OpenSUSE42.3 installs MongoDB
- Linux系统更改Apache网站根目录
- 使用js拼接的时候,引号处理问题 js 拼接onclikc、onchange 单引号会出错。