Regex.Match 方法
Regex.Match 方法
在输入字符串中搜索正则表达式的匹配项,并将精确结果作为单个 Match 对象返回。
重载列表
(1) 在指定的输入字符串中搜索 Regex 构造函数中指定的正则表达式匹配项。
[C#] public Match Match(string);
(2) 从指定的输入字符串起始位置开始在输入字符串中搜索正则表达式匹配项。
[C#] public Match Match(string, int);
(3) 在指定的输入字符串中搜索 pattern 参数中提供的正则表达式的匹配项。
[C#] public static Match Match(string, string);
(4) 从指定的输入字符串起始位置开始在输入字符串中搜索具有指定输入字符串长度的正则表达式匹配项。
[C#] public Match Match(string, int, int);
(5) 在输入字符串中搜索 pattern 参数中提供的正则表达式的匹配项(匹配选项在 options 参数中提供)。
[C#] public static Match Match(string, string, RegexOptions);
二、应用举例
1.下面的代码是为了取出网页中的Title属性
Match TitleMatch =
Regex.Match(fileContents, "<title>([^<]*)</title>",
RegexOptions.IgnoreCase | RegexOptions.Multiline );
].Value;
注意红色的1, Regex.Match方法得到的Groups的索引是从1开始的,而不是从0开始的
2. 下面的代码是为了取出网页头部的"Content"属性
Match DescriptionMatch =
Regex.Match( fileContents, "<META NAME=\"DESCRIPTION\"
CONTENT=\"([^<]*)\">", RegexOptions.IgnoreCase |
RegexOptions.Multiline );
filedesc = DescriptionMatch.Groups[1].Value;
3. 下面的代码用来分解一个字符串
string text = "One car red car blue car";
string pat = @"(\w+)\s+(car)";
// Compile the regular expression.
Regex r = new Regex(pat, RegexOptions.IgnoreCase);
// Match the regular expression pattern against a text string.
Match m = r.Match(text);
int matchCount = 0;
while (m.Success)
{
Response.Write("Match"+ (++matchCount) + "<br>");
for (int i = 1; i <= 2; i++)
{
Group g = m.Groups[i];
Response.Write("Group"+i+"='" + g + "'" + "<br>" );
CaptureCollection cc = g.Captures;
for (int j = 0; j < cc.Count; j++)
{
Capture c = cc[j];
Response.Write("Capture"+j+"='" + c + "', Position="+c.Index + "<br>");
}
}
m = m.NextMatch();
}
运行结果如下:
Match1
Group1='One'
Capture0='One', Position=0
Group2='car'
Capture0='car', Position=4
Match2
Group1='red'
Capture0='red', Position=8
Group2='car'
Capture0='car', Position=12
Match3
Group1='blue'
Capture0='blue', Position=16
Group2='car'
Capture0='car', Position=21
string str = @"<tr style='HEIGHT: 24.55pt'>
<td style='WIDTH: 149px' valign='top' width='78' bgcolor='#eaeaea'>
<b>楼盘地址</b>
</td>
<td valign='top' colspan='3'>
<input id='textfield' title='楼盘地址' style='WIDTH: 231px; HEIGHT: 28px' size='9' value='星河湾荟心园7栋3座302' name='楼盘地址'>
</td>
<td style='WIDTH: 121px' valign='top' width='78' bgcolor='#eaeaea'>
<b>成交日期</b>
</td>
<td style='WIDTH: 140px' valign='top' width='238'>
<input id='textfield' title='客源号' style='WIDTH: 95px; HEIGHT: 28px' value='2010.9.25' name='客源号'>
</td>
</tr>";
string str2= Regex.Match(str, "<input id='textfield' .*>?").ToString();
string str3 = Regex.Match(str2, "value='.*?'").ToString();
Response.Write(str3);
Regex.Match 方法的更多相关文章
- .net正则表达式大全(.net 的 System.Text.RegularExpressions.Regex.Match()方法使用)
正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串.正则表达式无疑是处理文本最有力的工具,而.NET的System.dll类库提供的System.Text.RegularExpression ...
- 字符串中判断存在的几种模式和效率(string.contains、string.IndexOf、Regex.Match)
通常情况下,我们判断一个字符串中是否存在某值常常会用string.contains,其实判断一个字符串中存在某值的方法有很多种,最常用的就是前述所说的string.contains,相对来说比较常用的 ...
- 1.3 正则表达式和python语言-1.3.4使用 match()方法匹配字符串
1.3.4使用 match()方法匹配字符串(第一次写博客,格式,述语有不当之处还请见谅)2018-05-08 Python 代码是以Jupyter Notebook编写的,主要写的是python3的 ...
- 修改ZuulHandlerMapping私有变量pathMatcher,重写match方法,使url匹配兼容正则表达式。
一.起源 在mocksever中引入了spring cloud zuul做代理转发,如果请求的url和配置的mock规则匹配(精确匹配和模糊匹配),忽略,不做转发.如果mock配置的url和请求url ...
- c# regex Match Matches MatchCollection 用法
string text = "1A 2B 3C 4D 5E 6F 7G 8H 9I 10J 11Q 12J 13K 14L 15M 16N ffee80 #800080"; Reg ...
- 正则表达式中的exec和match方法的区别
正则表达式中的exec和match方法的区别 字符串的正则方法有:match().replace().search().split() 正则对象的方法有:exec().test() 1.match m ...
- js的match()方法介绍
定义和用法 match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配. 该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置. ...
- JS match() 方法 使用
javascript中的match函数是使用正则表达式对字符串进行查找,并将查找的结果作为数组返回,在实际开发中非常的有用,使用方法如下: stringObj.match(rgExp) 其中strin ...
- 一款免费好用的正则表达式工具:Regex Match Tracer
推荐分享:一款免费好用的正则表达式工具:Regex Match Tracer v2.1.5 free version 下载地址:Regex Match Tracer
随机推荐
- wifi密码破解-Linux工具篇-video
链接: https://pan.baidu.com/s/1eREVoH0 密码: ajk5 博客地址:http://www.cnblogs.com/XieMinQiang/ (长按图 ...
- 自定义input file 属性
<label class="input"><input title="浏览文件" type="file" />浏览… ...
- [转]美国的软件公司是什么样?---- 以Fog Creek为例
作者: 阮一峰 日期: 2009年2月15日 Joel写过一篇文章,关于软件公司如何雇到优秀的程序员. 他说,软件公司的头等大事,就是找到第一流的人才.不同于其他行业,软件是一种纯智力产品,你有什么样 ...
- 苹果宣布首批HomeKit智能家居设备将在6月上市
凤凰科技讯 北京时间5月15日消息,据<华尔街日报>网络版报道,苹果周四宣布,首批支持其HomeKit平台的智能家居设备将在下月上市.这一消息的发布也驳斥了关于该苹果家庭自动化软件平台将推 ...
- HDU4272LianLianKan(dfs)
Problem Description I like playing game with my friend, although sometimes looks pretty naive. Today ...
- Android之画廊点击内容显示
package com.example.Gallery; import com.example.Gallery.R; import android.os.Bundle; import android. ...
- [Android开发系列]IT博客应用
1.关于坑 好吧,在此之前先来说一下,之前开的坑,恩,确实是坑,前面开的两个android开发教程的坑,对不起,实在是没什么动力了,不过源码都有的,大家可以参照github这个应用 https://g ...
- iOS 父子关系
1.面向对象特征,类的继承 成员变量(实例变量) 子类继承父类所有功能,只能直接(访问)调用父类中的.h中的protect和public成员变量(实例变量)及方法, .h中的私有的成员变量,子类不能直 ...
- 前台JS(Jquery)调用后台方法 无刷新级联菜单示例
前台用AJAX直接调用后台方法,老有人发帖提问,没事做个示例 下面是做的一个前台用JQUERY,AJAX调用后台方法做的无刷新级联菜单 http://www.dtan.so CasMenu.aspx页 ...
- (转)Yale CAS + .net Client 实现 SSO(3)
第一部分:安装配置 Tomcat 第二部分:安装配置 CAS 第三部分:实现 ASP.NET WebForm Client 1. 下载.NET CAS client. .NET CAS Client ...