`
theabab
  • 浏览: 42171 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类
最新评论

RegExpression正则表达式学习

阅读更多
正则表达式的2中创建格式:
1:显示构造函数
var reg=new RegExp(pattern, attributes);

2:隐式的是
var reg=/pattern/attributes

参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。

参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",
g全局匹配->如果不指定g标志字符,那么只会匹配最早的那个内容,而不是整个文本内容
i区分大小写的匹配->如果设置了i,将忽略大小写的匹配
m多行匹配.->如果没有设置m,那么元字符"^"只与整个被搜索的字符串的开始位置匹配,元 字  符"$"只与结尾匹配,如果设置了,“^”还可以与整个字符串的"\n"或"\r"之后进行匹配,
“$”还可以与整个字符串的"\n"或"\r"之前进行匹配


例如:下面等价
var reg=new RegExp("\\d{5}","g");
var reg=/\d{5}/g



RegExp 对象属性

FF: Firefox, IE: Internet Explorer
属性           描述                                                   FF IE
global         RegExp 对象是否具有标志 g。               1 4
ignoreCase RegExp 对象是否具有标志 i。                 1 4
lastIndex          一个整数,标示开始下一次匹配的字符位置。 1 4
multiline         RegExp 对象是否具有标志 m。                 1 4
source         正则表达式的源文本。                         1 4
                        RegExp 对象方法

FF: Firefox, IE: Internet Explorer
方法         描述                                                                        FF IE
compile 编译正则表达式。                                                 1 4
exec  检索字符串中指定的值。返回找到的值,并确定其位置。 1 4
test         检索字符串中指定的值。返回 true 或 false。             1 4
                 支持正则表达式的 String 对象的方法

FF: Firefox, IE: Internet Explorer
方法          描述                                 FF IE
search 检索与正则表达式相匹配的值。 1 4
match 找到一个或多个正在表达式的匹配。1 4
replace 替换与正则表达式匹配的子串。 1 4
split  把字符串分割为字符串数组。 1 4


限定符:
{n}       重复n次
{n,}       至少重复n次
{n,m}    重复n-m次
+         重复1-n次
*          重复0-n次
?          重复0-1次

选择符: |       (chaper|select)1表示匹配chaper1或者select1


分组组合符:用小括号包围的部分 (pattern)

反向引用符:用于应用分组组合符所捕获的内容的标识符号,存放在缓冲区,最多可以存放99个,采用\num的方式引用
例如:(\d)(\d)  反向引用:就是\1\2    "\1"代表第一个\d 所捕获的内容
连续的5个字符:(\d)\1{4};

(?:patter)不需要索引和检索的使用
Industry|Industies    使用Indust(?:y|ies)而不用Industr(y|ies)前面的不会影响

(?=patter)正向“预测先行”匹配-->patter只是作为一个条件进行搜索返回的结果并不 包含patter部分,下面的例子要匹配的是windows字符串,但是前提是后面有NT或者2000

例如:windows (?=NT|2000)可以与windows NT 和 windows 2000的windows匹配 但是不能与windows 2003的windows匹配

(?!pattern)反向预测先行匹配
例如:windows (?!NT|2000)不可以与windows NT 和 windows 2000的windows匹配 但是能与windows 2003的windows匹配

预测现行的部分要不是放于首部,要不放于尾部
例如:windows (?=NT|2000) serviece在 windows NT serviece就没有搜索到结果

贪婪匹配和非贪婪匹配
贪婪:
以正则表达式匹配最长的原则进行匹配
例如zoom 使用zo+替换成r,结果是rm而不是room!

非贪婪
在限定符后面加上?,则匹配最短的
例如food 使用fo+? 匹配的是fo而不是foo  fo+匹配的是foo


\b匹配任意字符的开始和结束
\s匹配任意的空白符
\d匹配任意的数字
\w匹配任意字母,数字,下划线
.   匹配除换行符意外的任意字符
^ 开始
$ 结束

反义:
\B \S \W \D
[^a]匹配除a以外的任意字符
[^abc]匹配除abc以外的任意字符



技巧:
比如将win windows修改成 lose windows用 /\bwin\b/g可以修改



java正则表达式::

import java.util.regex.*;
class Regex1{
    public static void main(String args[]) {
           String str="abcaccbcbaacabccaa";
           String regEx="(ac)|(ca)";
           Pattern p=Pattern.compile(regEx);
           Matcher m=p.matcher(str);
           String s=m.replaceAll("");
           regEx="(ab)|(ba)";
           p=Pattern.compile(regEx);
           s=p.matcher(s).replaceAll("");

           System.out.print(s+"\n");
    }
}
分享到:
评论

相关推荐

    网页制作案例

    该案例展示了如何使用JavaScript进行表单验证,尤其是利用正则表达式来进行精确的数据格式检查。正则表达式是一种强大的文本处理工具,可以用来匹配、查找、替换等操作。 1. **E-Mail地址验证**: ```javascript ...

    [其他类别]网页中文本框自校验的标签_input(毕设 + 课设).zip

    在给定的文件列表中,`RegExpression.class`可能包含了自定义的正则表达式类,用于校验用户输入。正则表达式是一种强大的字符串匹配工具,可以通过组合各种字符和元字符来构建复杂的匹配模式。例如,`^[1-9]\d*$`...

    javascript函数大全

    变量.indexOf("字符",起始位置),返回第一个出现的位置(从0开始计算) 97.string.lastIndexOf(searchString[,startIndex])最后一次出现的位置. 98.string.match(regExpression),判断字符是否匹配. 99.string....

    107个常用javascript语句

    99.string.replace(regExpression,replaceString)替换现有字符串. 100.string.split(分隔符)返回一个数组存储值. 101.string.substr(start[,length])取从第几位到指定长度的字符串. 102.string.toLowerCase()使字符...

    Crawlee - 一个用于 Python 的网页抓取和浏览器自动化库,用于构建可靠的爬虫 提取 AI、LLM、RAG 或 GPT 的数据 从网站下载 HTML、PDF、JPG、PNG

    Web scraping and browser automation librarylee 涵盖了端到端的抓取和爬取,并帮助您快速构建可靠的爬取工具。 Crawlee for Python 向早期采用者开放!即使使用默认配置,您的爬虫程序看起来也几乎像人类一样,并且不会受到现代机器人保护的监视。Crawlee 为您提供了工具,让您可以抓取网络上的链接、抓取数据并以机器可读的格式持久存储数据,而无需担心技术细节。而且,由于配置选项丰富,如果默认设置不适用,您可以调整 Crawlee 的几乎任何方面以满足您的项目需求。在Crawlee 项目网站上查看完整的文档、指南和示例我们还有一个 TypeScript 实现的 Crawlee,您可以探索并利用它来完成您的项目。请访问我们的 GitHub 存储库,获取有关GitHub 上 JS/TS 的 Crawlee 的更多信息。安装我们建议您访问Crawlee 文档中的简介教程以获取更多信息。Crawlee 可作为crawleePyPI 软件包使用。核心功能包含在基础软件包中,其他功能作为可选附加功能提供,以最大限度地减少软件包大小和依赖项。要安装

    用AWLUM进行灰色编码2^2n-QAM调制的精确率Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    Simple Run Blocker -应用上锁工具

    Simple Run Blocker -应用上锁工具

    基于springboot的库存管理系统的设计与实现

    基于springboot+vue的网上零食销售商城。适用于计算机类毕业设计,课程设计参考与学习用途。 系统设计考虑了企业在库存管理中的各种需求,提供了包括用户管理、商品管理、库存监控、订单处理、数据分析、客户关系维护以及系统安全与配置在内的核心功能模块。用户管理模块支持用户信息的增删改查以及角色和权限的分配,确保了系统的安全性和多级管理的便捷性。商品管理模块允许轻松录入和更新商品信息,自动化记录库存变动,为库存优化提供了数据支持。订单管理模块覆盖了订单的整个生命周期,从创建到发货再到退货,每个环节都得到了精细化管理。报表统计模块通过生成各类报表,为决策提供了数据支撑。客户管理模块则侧重于维护客户信息和购买历史,以便更好地服务客户。最后,系统设置模块允许管理员根据业务需求调整系统参数。整个系统的设计旨在帮助企业提升库存管理的效率和精确度。本文研究成果为企业提供了一套完备的库存管理解决方案。 关键词: 库存管理;Spring Boot;Vue.js;系统设计;数据库

    java面向对象 - 类与对象.doc

    java面向对象 - 类与对象 在Java编程语言中,面向对象编程(OOP)是一个核心概念。它强调以对象作为程序的基本单位,并将相关的数据和功能封装在对象中。类和对象是Java OOP的两个关键组成部分。 ### 类(Class) 类是一个模板或蓝图,它定义了对象的属性和行为。我们可以将类视为对象的类型或种类。通过类,我们可以创建(实例化)具有特定属性和行为的对象。 类的组成部分通常包括: 1. **成员变量**(属性):用于存储对象的状态或数据。 2. **方法**(行为):定义了对象可以执行的操作或功能。 3. **构造方法**:一种特殊类型的方法,用于在创建对象时初始化其状态。 4. **块**(如静态块、实例初始化块):用于执行类级别的初始化代码。 5. **嵌套类**:一个类可以包含其他类,这被称为嵌套或内部类。 ### 对象(Object) 对象是类的实例。它是根据类模板创建的具体实体,具有自己的状态和行为。每个对象都是其类的一个唯一实例,可以访问其类中定义的属性和方法。 创建对象的过程通常涉及以下几个步骤: 1. **声明**:指定对象的类型(即其所属的类

    雷达阵列天线的方向图,有结果截图,适合于初学者matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    Notepad-v2.20工具,是替代Notepad++的首选工具

    Notepad-v2.20工具,是替代Notepad++的首选工具

    项目管理软考基础知识点和冲刺要点.pdf

    项目管理软考基础知识点和冲刺要点

    月色场景嫦娥弹琴flash动画.zip

    月色场景嫦娥弹琴flash动画.zip

    具有恒定相对挥发度的标准双组分蒸馏塔模型 matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    ECharts柱状图-极坐标系下的堆叠柱状图2.rar

    图表效果及代码实现讲解链接:https://blog.csdn.net/zhangjiujiu/article/details/143997013

    原生js模仿新浪微博发布评论代码.rar

    原生js模仿新浪微博发布评论代码.rar

    重力排水罐物质平衡模型及实验结果 matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    音频过滤器 GUI Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    商务喷气机的 μ-合成自动着陆控制器Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    宏观数经济学期末考试试卷解析-经济管理-教学资料

    内容概要:本文档提供了对外经济贸易大学20XX-20XX学年第X学期《宏观经济学》期末考试的试卷,涵盖了单项选择题、名词解释、简答题和论述题,旨在测试学生对宏观经济学基础知识和理论的理解及应用能力。试题内容涉及国内生产总值、边际消费倾向、通货膨胀、财政政策、货币政策等多个概念及其政策意义。 适合人群:对外经济贸易大学或类似院校的学生,尤其是修读《宏观经济学》课程的学生,教师也可作为教学参考资料。 使用场景及目标:①帮助学生全面掌握《宏观经济学》的基础知识点,为考试复习做准备;②教师可用作课堂教学材料或考试命题的参考;③研究机构研究人员可借鉴试卷内容进行相关课题研究。 其他说明:试卷难度适中,题目覆盖面广,既考查学生的记忆能力,也强调理解和分析能力。

Global site tag (gtag.js) - Google Analytics