积极答复者
正则表达式提取字符串

问题
答案
-
不一定要用正则表达式
string str = @"color:#ff0000;font-size:24px;left:10px;"; string[] arr = str.Split(new string[]{";"},StringSplitOptions.RemoveEmptyEntries); //left:10px arr = arr[2].Split(new string[]{":"},StringSplitOptions.RemoveEmptyEntries); //arr[1] => 10px string result = arr[1].Replace("px", ""); Console.WriteLine(result);
- The blog of typewriter職人
- Convert C# to VB.NET
- /*If my concept is wrong ,please correct me.Thanks.*/
很高兴看到你第一个回复,谢谢。但是你的这个解法我也会,但我需要正则表达式的解法,这个字符串只是个例子,我要的是通用方案,是一类这种情况的需求,这个特殊点可以splite,哪天变了就没招了。
谢谢
Allen
(晚点我给你标成答案啊)
那试试这个吧string input = @"color:#ff0000;font-size:24px;left:10px;"; string pattern = @"left:(?<myGroup>\d{1,})px;"; Regex reg = new Regex(pattern); Match m = reg.Match(input); //show Result Console.WriteLine(m.Groups["myGroup"].Value);
- The blog of typewriter職人
- Convert C# to VB.NET
- /*If my concept is wrong ,please correct me.Thanks.*/
- 已标记为答案 Allen PPL 2011年12月29日 12:53
-
string result = Regex.Match(your_html,@"(?<=(?i:left):)\d+").Value;
2011 c# mvp China. *George读起来像不像“饺子”?我爱吃饺子,我叫George。- 已标记为答案 George.WuyazheModerator 2011年12月29日 15:19
-
不一定要用正则表达式
string str = @"color:#ff0000;font-size:24px;left:10px;"; string[] arr = str.Split(new string[]{";"},StringSplitOptions.RemoveEmptyEntries); //left:10px arr = arr[2].Split(new string[]{":"},StringSplitOptions.RemoveEmptyEntries); //arr[1] => 10px string result = arr[1].Replace("px", ""); Console.WriteLine(result);
- The blog of typewriter職人
- Convert C# to VB.NET
- /*If my concept is wrong ,please correct me.Thanks.*/
- 已标记为答案 Allen PPL 2011年12月29日 12:53
全部回复
-
不一定要用正则表达式
string str = @"color:#ff0000;font-size:24px;left:10px;"; string[] arr = str.Split(new string[]{";"},StringSplitOptions.RemoveEmptyEntries); //left:10px arr = arr[2].Split(new string[]{":"},StringSplitOptions.RemoveEmptyEntries); //arr[1] => 10px string result = arr[1].Replace("px", ""); Console.WriteLine(result);
- The blog of typewriter職人
- Convert C# to VB.NET
- /*If my concept is wrong ,please correct me.Thanks.*/
- 已标记为答案 Allen PPL 2011年12月29日 12:53
-
不一定要用正则表达式
string str = @"color:#ff0000;font-size:24px;left:10px;"; string[] arr = str.Split(new string[]{";"},StringSplitOptions.RemoveEmptyEntries); //left:10px arr = arr[2].Split(new string[]{":"},StringSplitOptions.RemoveEmptyEntries); //arr[1] => 10px string result = arr[1].Replace("px", ""); Console.WriteLine(result);
- The blog of typewriter職人
- Convert C# to VB.NET
- /*If my concept is wrong ,please correct me.Thanks.*/
很高兴看到你第一个回复,谢谢。但是你的这个解法我也会,但我需要正则表达式的解法,这个字符串只是个例子,我要的是通用方案,是一类这种情况的需求,这个特殊点可以splite,哪天变了就没招了。
谢谢
Allen
(晚点我给你标成答案啊)- 已编辑 Allen PPL 2011年12月29日 10:18 增加一句话
-
不一定要用正则表达式
string str = @"color:#ff0000;font-size:24px;left:10px;"; string[] arr = str.Split(new string[]{";"},StringSplitOptions.RemoveEmptyEntries); //left:10px arr = arr[2].Split(new string[]{":"},StringSplitOptions.RemoveEmptyEntries); //arr[1] => 10px string result = arr[1].Replace("px", ""); Console.WriteLine(result);
- The blog of typewriter職人
- Convert C# to VB.NET
- /*If my concept is wrong ,please correct me.Thanks.*/
很高兴看到你第一个回复,谢谢。但是你的这个解法我也会,但我需要正则表达式的解法,这个字符串只是个例子,我要的是通用方案,是一类这种情况的需求,这个特殊点可以splite,哪天变了就没招了。
谢谢
Allen
(晚点我给你标成答案啊)
那试试这个吧string input = @"color:#ff0000;font-size:24px;left:10px;"; string pattern = @"left:(?<myGroup>\d{1,})px;"; Regex reg = new Regex(pattern); Match m = reg.Match(input); //show Result Console.WriteLine(m.Groups["myGroup"].Value);
- The blog of typewriter職人
- Convert C# to VB.NET
- /*If my concept is wrong ,please correct me.Thanks.*/
- 已标记为答案 Allen PPL 2011年12月29日 12:53
-
string result = Regex.Match(your_html,@"(?<=(?i:left):)\d+").Value;
2011 c# mvp China. *George读起来像不像“饺子”?我爱吃饺子,我叫George。- 已标记为答案 George.WuyazheModerator 2011年12月29日 15:19