正则表达式的基础知识

概念:

正则表达式使用单个字符串来描述、匹配一系列符合某个 句法规则的字符串。

使用场景:

在很多文本编辑器里,正则表达式通常被用来检索、替换 那些符合某个模式的文本。

tip

1、处理正则表达式的工具会提供一个忽略大小写的选项,

2、只使用一个正则表达式,可能不能准确的第筛选,这时,可以采用分支结构,但是分支结构使用过程中,也要注意各个表达式的先后顺序;

3、但是正则表达式中并不提供关于数学的任何功能,所以只能使用冗长的分组,选择,字符类来描述一个正确的IP地址:((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)。

use:

1、\b是正则表达式规定的一个特殊代码(也叫元字符,metacharacter),代表着单词的开头或结尾,也就是单词的分界处。

假如你要找的是hi后面不远处跟着一个Lucy,你应该用\bhi\b.*\bLucy\b。

\bhi\b

\b[Hh]i\b

\b(H|h)i\b

常用元字符:

后向引用用于重复搜索前面某个分组匹配的文本。例如,\1代表分组1匹配的文本。难以理解?请看示例:

\b(\w+)\b\s+\1\b可以用来匹配重复的单词,像go go, 或者kitty kitty。这个表达式首先是一个单词,也就是单词开始处和结束处之间的多于一个的字母或数字(\b(\w+)\b),这个单词会被捕获到编号为1的分组中,然后是1个或几个空白符(\s+),最后是分组1中捕获的内容(也就是前面匹配的那个单词)(\1)。

你也可以自己指定子表达式的组名。要指定一个子表达式的组名,请使用这样的语法:(?<Word>\w+)(或者把尖括号换成‘也行:(?‘Word‘\w+)),这样就把\w+的组名指定为Word了。要反向引用这个分组捕获的内容,你可以使用\k<Word>,所以上一个例子也可以写成这样:\b(?<Word>\w+)\b\s+\k<Word>\b。

正则表达式的更深层次东西,我暂且还没有学到,但是这些基本可以应该可以应付一些基础的使用!

每日弟子规:

事虽小 勿擅为 苟擅为 子道亏

物虽小 勿私藏 苟私藏 亲心伤

第五天!

加油!

时间: 2025-01-20 06:02:22

正则表达式的基础知识的相关文章

scala和正则表达式常用基础知识示例

http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html .     匹配除换行符以外的任意字符\w     匹配字母或数字或下划线或汉字\s     匹配任意的空白符\d     匹配数字\b     匹配单词的开始或结束^     匹配字符串的开始$     匹配字符串的结束在[]里面不需要转义,在外面,如().?之类的字符是需要转义的.后向引用示例:\b(\w+)\b\s+\1\

python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding:utf-8from com.wenhy.crawler_baidu_baike import url_manager, html_downloader, html_parser, html_outputer print "爬虫百度百科调度入口" # 创建爬虫类class SpiderMai

正则表达式基础知识(一)

之前在linux中用到三剑客grep.awk.sed等,简单的接触过正则表达式,但是没有深入的了解正则表达式,又一次在python里面接触到正则表达式,所以想着尽量一次攻克正则表达式,所以就将自己学习印记留在此处,供自己复习,同时也将相关知识分享给大家. 分享几个在线测试与学习正则的地址: (1)http://deerchao.net/tutorials/regex/regex.htm  正则表达式30分钟入门 (2)http://tool.oschina.net/regex/ 在线测试以及有部

javascript之正则表达式基础知识小结

javascript之正则表达式基础知识小结,对于学习正则表达式的朋友是个不错的基础入门资料. 元字符 ^ $ . * + ? = ! : | \ / ( ) [ ] { } 在使用这些符号时需要用“\”来进行转移. 如果记不清楚那些标点符号需要转移,可以在使用标点符号时都使用反斜杠“\” 简单匹配 1.直接量 /javascript/ 匹配带有“javascript”的字符串 比如“javascript is an object-oriented scripting language” 2.[

转:正则表达式基础知识

一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式.该模式描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配.如: JScript VBScript 匹配 /^\[ \t]*$/ "^\[ \t]*$" 匹配一个空白行. /\d{2}-\d{5}/ "\d{2}-\d{5}" 验证一个ID 号码是否由一个2位数字,一个连字符以及一个5位数字组成. /<(.*)&

JavaScript基础知识梳理----正则表达式

JavaScript基础知识梳理----正则表达式 1.创建 方式:---字面量:var 变量名=/表达式/模式修饰符 ---构造函数:var 变量名=new RegExp(“表达式”,“模式修饰符”) 说明: 表达式 单个字符和数字 . 匹配除换行符之外的任意字符 [a-z0-9] 匹配方括号中的任意字符 [^a-z0-9] 匹配不在方括号中的任意字符 \d 匹配数字 \D 匹配非数字 \w 匹配字母 \W 匹配非字母 空白字符 \0 匹配null字符 \b 匹配空格符 \f 匹配进纸符 \n

java正则表达式基础知识(转)

1基础 2.1 简单字符类 构造 描述 [abc] a,b或c [^abc] 除a,b或c外的字符 [a-zA-Z] a至z 或 A至Z [a-d[m-p]] a至d 或 m至p [a-z&&[def]] d,e或f @Test public void testChar() { //匹配 b,c或d assertTrue("d".matches("[bcd]")); //匹配除 a,b,c 以外的字符 (否定) assertTrue("d&

php基础知识(5)正则表达式

一.匹配次数 (1) *     匹配前面的子表达式零次或多次 (2) +     匹配前面的子表达式一次或多次,+ 等价于 {1,} (3) ?     匹配前面的子表达式零次或一次,? 等价于 {0,1} (4){n}    n 是一个非负整数,匹配确定的n 次 (5){n,}   n 是一个非负整数,至少匹配n 次 (6){n,m}  m 和 n 均为非负整数,最少匹配 n 次且最多匹配 m 次.在逗号和两个数之间不能有空格 二.匹配值 (1) x|y    匹配 x 或 y (2)[xy

Scala学习笔记--正则表达式基础知识、如何在scala内使用

正则表达式语法:https://msdn.microsoft.com/zh-cn/library/ae5bf541(VS.80).aspx 基础知识:正则表达式30分钟入门教程 http://www.jb51.net/tools/zhengze.html  版本:v2.33 (2013-1-10) 作者:deerchao 转载请注明来源 使用格式:  见java API  http://docs.oracle.com/javase/7/docs/api/ java : java.util.reg