c#非正则表达式取值(下一篇准备写正则表达式取值)

原创 2007年09月18日 15:05:00
注:采集专用

假如说在某个页面上有很多连接,样式都是<a href="url">title</a>,我打算将url和title放入数据库中

举个例子,HtmlCode的值如下
<a href="url1">title1</a>
<a href="url2">title2</a>
<a href="url3">title3</a>
<a href="url4">title4</a>
<a href="url5">title5</a>

按照以前的写法相当麻烦,具体就不介绍了,只说个简单点的,用split分成数组来解决

注:  如果用的是HtmlCode.Split(a),那a只能取字符型来分割成数组,不能取字符串
      如果用的是下面的Regex.Split,那么就能用字符串来分割数组了(例:Start,Last)

       public string GetKeyValue(string HtmlCode, string Start, string Last, int i)
        {
            string[] FileArray = Regex.Split(HtmlCode, Start, RegexOptions.IgnoreCase);
            string[] FileArray2 = Regex.Split(FileArray[i], Last, RegexOptions.IgnoreCase);
            return FileArray2[0];
        }

定义了如上函数,HtmlCode是采集过来没改过的整块HTML代码,Start是起始标志,Last是终止标志,i是第个要取的

值, RegexOptions.IgnoreCase表示不区分大小写.

举个例子:

GetKeyValue(HtmlCode,"<a href=/"","/">",1)
函数返回url1
GetKeyValue(HtmlCode,"/">","</a>",1)
函数返回title1
GetKeyValue(HtmlCode,"<a href=/"","/">",3)
函数返回url3
GetKeyValue(HtmlCode,"/">","</a>",3)
函数返回title3

要想得到全部,用个for就行了
string Url=string.Empty;
string Title=string.Empty;
for(int i=1;i<6;i++)
{
  Url=GetKeyValue(HtmlCode,"/">","</a>",i)
  Title=GetKeyValue(HtmlCode,"/">","</a>",i)
  ///插入数据库
  Url="";
  Title="";

 

利用java正则表达式来解析并获取指定的字符串

Java的正则表达式不仅可以用来匹配验证字符串是否符合标准类型,还可以用来解析字符串,获取自己想要得到的数据。在java.util.regex包下提供了系列的类来对字符串进行匹配。来看一下下面的例子:...
  • leixingbang1989
  • leixingbang1989
  • 2014年05月21日 16:32
  • 13556

正则表达式的简单语法及常用正则表达式 举例使用jquery获取url指定参数

基本符号: ^  表示匹配字符串的开始位置  (例外  用在中括号中[ ] 时,可以理解为取反,表示不匹配括号中字符串) $  表示匹配字符串的结束位置 *  表示匹配 零次到多次 +  表示...
  • aulneclsgl
  • aulneclsgl
  • 2016年03月19日 14:07
  • 7255

Java正则表达式提取字符

需求:提取车牌号中最后一个数字,如:宁A7865提取5,宁A876X提取6 实现方法:import java.util.regex.Matcher; import java.util.regex.P...
  • catoop
  • catoop
  • 2016年02月03日 16:28
  • 11491

正则表达式贪婪模式与非贪婪模式

1.定义:什么是贪婪模式与非贪婪模式 string str="abcaxc"; string regex="ab\w*c"; 贪婪与非贪婪模式影响的是被量词修饰的子表达式的匹配行为。 ...
  • cherish1forever
  • cherish1forever
  • 2015年10月13日 14:55
  • 1781

正则表达式的非捕获组

ref: http://www.cnblogs.com/graphics/archive/2010/06/02/1749707.html http://www.cnblogs.com/yaku...
  • huludan
  • huludan
  • 2017年01月10日 12:34
  • 1298

JS正则表达式获取分组内容的方法详解

支持多次匹配的方式:      复制代码 代码如下:   var testStr = "now test001 test002";    var re = /test(\d+)/i...
  • yw1688
  • yw1688
  • 2014年03月12日 19:15
  • 1050

正则表达式匹配非空非中文

正则表达式验证非空非中文(包含繁体中文)表达式如下:匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包含汉字): [^\x00-\xff]实例: ...
  • csmzl
  • csmzl
  • 2016年12月30日 11:07
  • 3915

正则表达式实现与或非关系

写一个正则表达式,要求匹配字符串同时满足条件A和条件B 我们可以先写两个子表达式PatternA和PatternB,分别校验条件A和条件B。然后结合成一个新的表达式 (?=PatternA)P...
  • lyd135364
  • lyd135364
  • 2016年11月14日 11:34
  • 5299

C#正则表达式之贪婪模式

1、贪婪模式演示:(当提取多个超链接的时候) •    “1111。11。111。111111。” •    贪婪:.+。(默认为贪婪模式,尽可能的多匹配。) •    非贪婪:.+?。(尽可能...
  • zxcvbnm32123
  • zxcvbnm32123
  • 2013年07月28日 23:21
  • 1778

MySQL 使用正则表达式查询

字符“^”匹配特定字符 SELECT * FROM fruits WHERE f_name REGEXP '^b'; 字符’$‘特定字符结尾 SELECT * FROM fruits WHERE f_...
  • c1z2w3456789
  • c1z2w3456789
  • 2016年12月27日 17:18
  • 836
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c#非正则表达式取值(下一篇准备写正则表达式取值)
举报原因:
原因补充:

(最多只允许输入30个字)