正则表达式(特殊字符)

^                            开头  '^b.*'----以b开头的任意字符

$                            结尾  '^b.*3$'----以b开头,3结尾的任意字符  

*                            任意长度(次数),≥0

?                            非贪婪模式,非贪婪模式尽可能少的匹配所搜索的字符串  '.*?(b.*?b).*'----从左至右第一个b和的二个b之间的内容(包含b)

+                            一次或多次

{2}                          指定出现次数2次

{2,}                         出现次数≥2次

{2,5}                        出现次数2≤x≤5

|                            或   “z|food”----能匹配“z”或“food”(此处请谨慎)。“[z|f]ood”----则匹配“zood”或“food”或"zood"

[]                           括号中任意一个符合即可(中括号里面没有分转义字符)  '[abc]ooby123'----只要开头符合[]中任意一个即可

[^]                          只要不出现[]的即可

[a-Z]                        从小a到大Z

.                            任意字符

\s                           匹配不可见字符 \n \t  '你\s好'----可以匹配‘你 好’

\S                           匹配可见字符,即普通字符

\w                           匹配下划线在内的任何单词字符

\W                           和上一个相反

[\u4E00-\u9FA5]              只能匹配汉字
() 要取出的信息就用括号括起来 \d 数字

Xpath语法

article                      选取所有article元素的所有子节点

/article                     选取根元素article

article/a                    选取所有属于article的子元素的a元素

//div                        选取所有div子元素(不论出现在文档任何地方)

article//div                 选取所有属于article元素的后代的div元素不管它出现在article之下的任何位置

//@class                     选取所有名为class的属性

/article/div[1]              选取属于srticle子元素的第一个div所有子节点

/article/div[last()]         选取属于article子元素的最后一个div所有子节点

/article/div[last()-1]       选取属于article子元素的倒数第二个div所有子节点

//div[@lang]                 选取所有拥有lang属性的div元素

//div[@lang='eng']           选取所有lang属性为eng的div元素

/div/*                       选取属于div元素的所有子节点

//*                          选取所有元素

//div[@*]                    选取所有带属性的div元素

//div/a | //div/p            选取所有div元素的a个p元素

//span | //ul                选取文档中的span和ul元素

article/div/p | //span       选取所有属于article元素的div元素和所有的span元素

CSS选择器

*                            选取所有节点

#container                   选取id为container的节点

.container                   选取所有class包含container的节点

li a                         选取所有li下的所有a节点

ul+p                         选取ul后面的第一个p元素

div#container > ul           选取id为container的div的第一个ul子元素

ul ~ p                       选取与ul相邻的所有p元素

a[title]                     选取所有有title属性的a元素

a[href="http://jobbole.com"] 选取所有href属性为jobbole.com

a[href*="jobole"]            选取所有href属性包含jobbole的a元素

a[href^="http"]              选取所有href属性值以http开头的a元素

a[href$=".jpg"]              选取所有href属性值以.jpg结尾的a元素

input[type=radio]:checked    选取选中的radio的元素

div:not(#container)          选取所有id非container的div元素

li:nth-child(3)              选取第三个li元素

tr:nth-child(2n)             第偶数个tr元素

  

 

正则表达式(特殊字符)/Xpath语法/CSS选择器的更多相关文章

  1. 黄聪:HtmlAgilityPack中SelectSingleNode的XPath和CSS选择器

    XPath和CSS选择器 原文:http://ejohn.org/blog/xpath-css-selectors 最近,我做了很多工作来实现一个同时支持XPath和CSS 3的解析器,令我惊讶的是: ...

  2. xpath和CSS选择器

    .content是二进制 用来处理声音.图片.视频 .text是文本 xpath语法: /一层层查找 //不固定位置 //title/text() @选取属性 [@href]和[@href=''] . ...

  3. xpath和css选择器对比

    基本语法对比 都可以在html中提取内容,但xpath可以提取xml的内容.

  4. XPath、CSS 选择器 -学习地址

    http://www.w3school.com.cn/cssref/css_selectors.asp http://www.w3school.com.cn/xpath/xpath_syntax.as ...

  5. scrapy xpath、正则表达式、css选择器

    scrapy xpath XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言.XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力. 学习 ...

  6. jQuery语法基础&选择器

    jQuery 语法 jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作. 基础语法是:$(selector).action() 美元符号定义 jQuery 选择符(select ...

  7. 使用CSS选择器进行元素定位

    在selenium webdriver中,支持使用CSS选择器来进行元素定位,事实在真的投入工作,大量编辑用例和元素定位的时候,使用css 和 xpath才是经常需要用到的. 之前有专门讲过使用xpa ...

  8. css基础,css选择器

    07.29自我总结 css基础 一.什么是CSS CSS是级联样式表 CSS术语标记语言,没有逻辑 CSS作用 完成网页内容的样式与布局 二.CSS的三种引入方式 1. 内联式 书写位置:在 head ...

  9. CSS选择器 + Xpath + 正则表达式整理(有空再整理)

    选择器 例子 例子描述 CSS .class .intro 选择 class="intro" 的所有元素. 1 #id #firstname 选择 id="firstna ...

随机推荐

  1. 在Linux,误删磁盘分区怎么恢复呢【转】

    在我们运维工作中,频繁的操作,可能命令写入错误,造成磁盘分区的删除,那么应该怎么办呢?怎么恢复磁盘分区呢? 一不小心删除了磁盘分区.如下图,删除了sda磁盘的第一个分区,为系统boot分区,系统如果重 ...

  2. MVC 带扩展名的路由无法访问

    在MVC中,路由是必不可少的,而且MVC对Url的重写非常方便,只需要在路由中配置相应的规则即可.假如我们需要给信息详情页配置路由,代码如下: routes.MapRoute( name: " ...

  3. python风流史

    python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...

  4. C++ code:数值计算之矩形法求解积分问题

    积分的通常方法是将区域切割成一个个的小矩形,然后求这些小矩形的和.小矩形切割得越细,计算精度就越高,可以将切割小矩形的数量作为循环迭代变量,将前后两个不同精度下的小矩形和之差,作为逼近是否达到要求的比 ...

  5. Android Strings.xml To CSV / Excel互转

    Android Strings.xml To CSV/Excel互转https://blog.csdn.net/hzxpyjq/article/details/50686983https://blog ...

  6. Android开发之实现多次点击事件

    在Android中给我们提供了单次点击事件.但并没有给我们提供双击,或者实现在一定时间内的多次事件.所以需要我们自己在单机监听上进行修改实现. 有如下两种实现方式: 1.定义一个存贮上一个第一次点击的 ...

  7. vtiger7安装设置

    安装界面一直报错 其实是设置的问题 error_reporting:E_WARNING & ~E_NOTICE & ~E_DEPRECATED max_execution_time:6 ...

  8. Codeforces 286B Shifting (看题解)

    Shifting 感觉这题被智力打击了.. 刚开始我想的是对于每个位置我们可以暴力找出最后的位置在哪里. 因为对于当前位置p, 在进行第x步操作时, 如果p % x == 1 则 p = p + x ...

  9. HTML页面滚动时获取离页面顶部的距离2种实现方法

    获取离滚动页面的顶部距离有两种方法一是DOM:而是jquery,具体的实现如下,感兴趣的朋友可以尝试操作下     方法一:DOM 复制代码 代码如下: <script> window.o ...

  10. P1019 单词接龙 字符串回溯

    题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合 ...