Welcome 微信登录

首页 / 正则表达式

正则表达式(regex) 贪婪模式、懒惰模式使用方法

正则表达式(regex) 贪婪模式、懒惰模式使用方法

正则表达式贪婪匹配模式,对于初学者,往往也很容易出错。有时候需要匹配一个段代码内容,发现匹配与想要不一致。发现原来,跟贪婪模式有关系。如下,我们看下例子:什么是贪婪模式字符串有: “<h3>abd</h3><h3>bcd</h3>”,我们想匹配<h3>…</h3>内容,正则表达式如下:1、h3开头与结尾,”<h3>待添加</h3>” <h3><...
正则表达式匹配解析过程探讨分析(正则表达式匹配原理)

正则表达式匹配解析过程探讨分析(正则表达式匹配原理)

已经有多篇关于正则表达式介绍的文章,随着我们越来越多使用正则表达式,想对性能做优化、减少我们正则表达式书写匹配Bug。我们不得不进一步深入了解正则表达式执行过程了。下面我们一起学习,分析下正则表达式执行过程。我们会用regexbuddy测试工具分解执行过程,具体工具使用,可以看:正则表达式性能测试工具推荐、优化工具推荐(regexbuddy推荐)。要了解正则表达式解析过程前,我们先来熟悉几个概念。常见正则表达式引擎引擎决定了正则表达式匹配方法及内部搜索过程...
正则表达式断言、巡视(Assertions)、正向断言、反向断言介绍

正则表达式断言、巡视(Assertions)、正向断言、反向断言介绍

断言(Assertions)在正则表达式概念里面难理解,它通常指的是在目标字符串的当前匹配位置进行的一种测试但这种测试并不占用目标字符串,也即不会移动模式在目标字符串中的当前匹配位置。详细可以看看,正则表达式匹配解析过程探讨分析(正则表达式匹配原理),里面提到“零宽度“很多元字符,只是对特殊位置进行匹配,它们可以理解为断言。断言元字符常见断言元字符有: , B, A, , z, ^ ,$ 它们只是表示特殊位置,各自作用如有字符串AB,带位置表示为:0A...
Python爬虫正则表达式常用符号和方法

Python爬虫正则表达式常用符号和方法

正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。1、常用符号. :匹配任意字符,换行符 除外:匹配前一个字符0次或无限次? :匹配前一个字符0次或1次.* :贪心算法...
基于Python正则表达式提取搜索结果中的站点地址

基于Python正则表达式提取搜索结果中的站点地址

正则表达式对于Python来说并不是独有的,最近在把google搜索的结果中所有的站点地址导出,于是想到用python正则表达式提取搜索结果中的站点地址。这其中涉及几个需要解决的问题:1、获取搜索的结果文本为了获得更多的地址,我使用了Google的高级搜索功能,每个页面显示100条结果。获得显示的结果后,可以查看源码,并保持成文本文件就有了搜索的结果文本2、分析如何提取站点信息首先需要分析获取的页面,查看以怎样的方式可以提取出站点信息。我使用IE8自带的开...
正则表达式详细介绍(上)

正则表达式详细介绍(上)

本文是Jan Goyvaerts为RegexBuddy写的教程的译文,下面来看吧!1. 什么是正则表达式基本说来,正则表达式是一种用来描述一定数量文本的模式。Regex代表Regular Express。本文将用<<regex>>来表示一段具体的正则表达式。一段文本就是最基本的模式,简单的匹配相同的文本。2. 不同的正则表达式引擎正则表达式引擎是一种可以处理正则表达式的软件。通常,引擎是更大的应用程序的一部分。在软件世界,不同的正则...
正则表达式详细介绍(下)

正则表达式详细介绍(下)

本文是前一片文章《正则表达式详细介绍(上)》的续篇,在本文中讲述了正则表达式中的组与向后引用,先前向后查看,条件测试,单词边界,选择符等表达式及例子,并分析了正则引擎在执行匹配时的内部机理。 9. 单词边界元字符<<>>也是一种对位置进行匹配的“锚”。这种匹配是0长度匹配。有4种位置被认为是“单词边界”:1) 在字符串的第一个字符前的位置(如果字符串的第一个字符是一个“单词字符”)2) 在字符串的最后一个字符后的位置(如果字符串的...
Java正则表达式入门基础篇(新手必看)

Java正则表达式入门基础篇(新手必看)

正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使用正则表达式,便成了解决这一矛盾的主要手...
常见的正则表达式问题

常见的正则表达式问题

正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。关于^开始和$结束的问题注意匹配一个单词边界,?:?=?!这四个不加^和$,其他都加^和$。关于|的理解1:/^a|zood$/当前面是a后面不管是什么都好使当后面是zood前面不管是什么都好使2:/^(a|z)ood$/结果是aoodzood以上内容是小编给大家介绍的常见正则表达式问题...
Linux正则表达式特性详解及BRE与ERE的异同点

Linux正则表达式特性详解及BRE与ERE的异同点

Linux正则表达式(Regular Expression)主要遵从POSIX BRE或者POSIX ERE标准。什么是POSIX呢,POSIX Portable Operating System Interface 可移植操作系统接口ERE是BRE的扩展版本,具体更强的处理能力,并增加了一些元字符(metacharactor)。 BRE主要的能力集有: 1) 普通字符(Literal text),如a,b,c等 2)非打印字符,包括TAB,回车,换...
WEB开发时常用的正则表达式(PHP和Javscript)

WEB开发时常用的正则表达式(PHP和Javscript)

在WEB开发中,正则表达式通常用来检测、查找替换某些符合规则的字符串,如检测用户输入E-mai格式是否正确,采集符合规则的页面内容等等。下面分别用PHP和Javscript向大家介绍WEB开发中最常用最实用的正则表达式及其用法。PHP常用表达式用法1.匹配正整数:/^[1-9]d*$/2.匹配非负整数(正整数+0):/^d+$/3.匹配中文:/^[x{4e00}-x{9fa5}]+$/u4.匹配Email:/^w+([-+.]w+)*@w+([-.]w+)...
比较全面的C 、Java、JavaScript中的正则表达式详解

比较全面的C 、Java、JavaScript中的正则表达式详解

什么是正则表达式?正则表达式(Regular Expression) 就是用某种模式去匹配一类字符串的公式。如你要在一篇文章中查找第一个字是“罗”最后一个字是“浩”的三个字的姓名,即“罗 * 浩”;那么“罗 * 浩”就是公式,也称作 模式(Pattern) ,这篇文章就是 要匹配的串( 或叫文本 text) 。再如,你要检查输入的一个字符串是否是 126 邮箱的格式,你得制定一个规则去查检,这种规则就是正则表达式。从入门开始我们就从上面提到的一个例子开始:...
IOS开发常用的正则表达式

IOS开发常用的正则表达式

正则表达式是一种用来进行文本匹配的工具,其语法优美简洁。在开发中,查找、对比以及匹配字符串是家常便饭的业务,通过正则表达式我们将这些业务描述成某些需求规则,来让我们的代码更美观、实用。例如我们要验证用户输入的密码长度是否满足6~18位的长度,新手最常见的验证方式是判断输入的密码长度return (textField.text.length >= 6 && textField.text.leng <= 18);尽管这种判断方式没有任何问题,而上面...
日常收集JS邮箱验证正则表达式

日常收集JS邮箱验证正则表达式

背景:正则是一门厚书啊,想写好也不容易,但日常中也就那些像电话、邮箱、手机,网上一堆,但真好验证好了,还得了解一点正则知识,再就是多测试了:-)下面邮箱正则:中划线:中划线域名就是米农口中说的扁担域名了,扁担域名由于输入比较麻烦,看起来也比较不正规,是没有多大的价值,目前投资的人是比较少的。按照DNS的标准,域名是不允许有下划线的。下划线:一些人在注册用户名的喜欢使用下划线_,这种用户名在登录邮箱时很麻烦,给你发邮件的人也很不方便。二级域名邮箱基本被消灭,...
<< 31 32 33 34 35 36 37 38 39 40 >>