正则表达式的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 ...
在给定的文件列表中,`RegExpression.class`可能包含了自定义的正则表达式类,用于校验用户输入。正则表达式是一种强大的字符串匹配工具,可以通过组合各种字符和元字符来构建复杂的匹配模式。例如,`^[1-9]\d*$`...
变量.indexOf("字符",起始位置),返回第一个出现的位置(从0开始计算) 97.string.lastIndexOf(searchString[,startIndex])最后一次出现的位置. 98.string.match(regExpression),判断字符是否匹配. 99.string....
99.string.replace(regExpression,replaceString)替换现有字符串. 100.string.split(分隔符)返回一个数组存储值. 101.string.substr(start[,length])取从第几位到指定长度的字符串. 102.string.toLowerCase()使字符...
Web scraping and browser automation librarylee 涵盖了端到端的抓取和爬取,并帮助您快速构建可靠的爬取工具。 Crawlee for Python 向早期采用者开放!即使使用默认配置,您的爬虫程序看起来也几乎像人类一样,并且不会受到现代机器人保护的监视。Crawlee 为您提供了工具,让您可以抓取网络上的链接、抓取数据并以机器可读的格式持久存储数据,而无需担心技术细节。而且,由于配置选项丰富,如果默认设置不适用,您可以调整 Crawlee 的几乎任何方面以满足您的项目需求。在Crawlee 项目网站上查看完整的文档、指南和示例我们还有一个 TypeScript 实现的 Crawlee,您可以探索并利用它来完成您的项目。请访问我们的 GitHub 存储库,获取有关GitHub 上 JS/TS 的 Crawlee 的更多信息。安装我们建议您访问Crawlee 文档中的简介教程以获取更多信息。Crawlee 可作为crawleePyPI 软件包使用。核心功能包含在基础软件包中,其他功能作为可选附加功能提供,以最大限度地减少软件包大小和依赖项。要安装
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
Simple Run Blocker -应用上锁工具
基于springboot+vue的网上零食销售商城。适用于计算机类毕业设计,课程设计参考与学习用途。 系统设计考虑了企业在库存管理中的各种需求,提供了包括用户管理、商品管理、库存监控、订单处理、数据分析、客户关系维护以及系统安全与配置在内的核心功能模块。用户管理模块支持用户信息的增删改查以及角色和权限的分配,确保了系统的安全性和多级管理的便捷性。商品管理模块允许轻松录入和更新商品信息,自动化记录库存变动,为库存优化提供了数据支持。订单管理模块覆盖了订单的整个生命周期,从创建到发货再到退货,每个环节都得到了精细化管理。报表统计模块通过生成各类报表,为决策提供了数据支撑。客户管理模块则侧重于维护客户信息和购买历史,以便更好地服务客户。最后,系统设置模块允许管理员根据业务需求调整系统参数。整个系统的设计旨在帮助企业提升库存管理的效率和精确度。本文研究成果为企业提供了一套完备的库存管理解决方案。 关键词: 库存管理;Spring Boot;Vue.js;系统设计;数据库
java面向对象 - 类与对象 在Java编程语言中,面向对象编程(OOP)是一个核心概念。它强调以对象作为程序的基本单位,并将相关的数据和功能封装在对象中。类和对象是Java OOP的两个关键组成部分。 ### 类(Class) 类是一个模板或蓝图,它定义了对象的属性和行为。我们可以将类视为对象的类型或种类。通过类,我们可以创建(实例化)具有特定属性和行为的对象。 类的组成部分通常包括: 1. **成员变量**(属性):用于存储对象的状态或数据。 2. **方法**(行为):定义了对象可以执行的操作或功能。 3. **构造方法**:一种特殊类型的方法,用于在创建对象时初始化其状态。 4. **块**(如静态块、实例初始化块):用于执行类级别的初始化代码。 5. **嵌套类**:一个类可以包含其他类,这被称为嵌套或内部类。 ### 对象(Object) 对象是类的实例。它是根据类模板创建的具体实体,具有自己的状态和行为。每个对象都是其类的一个唯一实例,可以访问其类中定义的属性和方法。 创建对象的过程通常涉及以下几个步骤: 1. **声明**:指定对象的类型(即其所属的类
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
Notepad-v2.20工具,是替代Notepad++的首选工具
项目管理软考基础知识点和冲刺要点
月色场景嫦娥弹琴flash动画.zip
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
图表效果及代码实现讲解链接:https://blog.csdn.net/zhangjiujiu/article/details/143997013
原生js模仿新浪微博发布评论代码.rar
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
内容概要:本文档提供了对外经济贸易大学20XX-20XX学年第X学期《宏观经济学》期末考试的试卷,涵盖了单项选择题、名词解释、简答题和论述题,旨在测试学生对宏观经济学基础知识和理论的理解及应用能力。试题内容涉及国内生产总值、边际消费倾向、通货膨胀、财政政策、货币政策等多个概念及其政策意义。 适合人群:对外经济贸易大学或类似院校的学生,尤其是修读《宏观经济学》课程的学生,教师也可作为教学参考资料。 使用场景及目标:①帮助学生全面掌握《宏观经济学》的基础知识点,为考试复习做准备;②教师可用作课堂教学材料或考试命题的参考;③研究机构研究人员可借鉴试卷内容进行相关课题研究。 其他说明:试卷难度适中,题目覆盖面广,既考查学生的记忆能力,也强调理解和分析能力。