初步了解正则表达式

本文介绍了正则表达式,它是计算机科学概念,用于检索、替换符合特定模式的文本。阐述了其概念和作用,还给出了在C#和JavaScript中的使用示例,包括C#的两种写法及JavaScript的修饰符、RegExp对象方法和String对象支持正则的方法等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初步了解正则表达式

开发工具与关键技术:Visual Studio 2015
作者:Mr_恺
撰写时间:2019.05.5

正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式 通常被用来检索、替换那些符合某个模式(规则)的文本。许多程序设计语言都支持利用正则表达式进行字符串操作(但是写 法和支持程度上有所不同)。
概念:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一 个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
作用:正则表达式主要用来验证、搜索和替换

在C#使用的第一种写法:
声明一串字符串:
String str = “<img οnlοad=\”AutoResizeImage(200,200,this)\”src=\”Document/Title/Temp
/2017-10-114c5.png\”>”;
先实例化Regex
Regex regex =new Regex(“onload.+?(?=scr)”);

1、IsMatch:指定的正则表达式在指定的输入字符串中是否找到了匹配项。
如果正则表达式找到匹配项,则为 true;否则,为 false。
bool blRG = regex.IsMatch(str);

2、Match:指定的正则表达式的第一个匹配项
返回一个包含有关匹配的信息的对象。
Match match = regex.Match(str);
string value = match.Value; value:返回结构通过匹配捕获的子字符串

3、 MatchCollection表示通过以迭代方式将正则表达式模式
//应用于输入字符串所找到的成功匹配的集合

MatchCollection matchCol = regex.Matches(str);
for (int i = 0; i < matchCol.Count; i++)//通过循环获取每一个匹配对象
{
Match ma = matchCol[i];
string value1 = ma.Value; value:返回结构通过匹配捕获的子字符串
}

在C#使用的第二种写法:
bool blRG1 = Regex.IsMatch(str, “(?<=Document/Title/Temp/).+?(?=”)");
Match match1= Regex.Match(str,"(?<=Document/Title/Temp/).+?(?=")");

MatchCollection matchCol1=Regex.Matches(str,"(?<=Document/Title/Temp/).+?(?=")");
for (int i = 0; i < matchCol1.Count; i++)通过循环获取每一个匹配对象
{
Match ma = matchCol1[i];
string value1 = ma.Value;
}

        Replace:替换与指定正则表达式匹配的所有字符串
        string str2 =Regex.Replace(str, "onload.+?(?=src)","");

在JavaScript的正则表达式
1.1 修饰符
修饰符用于执行区分大小写和全局匹配:
修饰符 描述
I (ignore)执行对大小写不敏感的匹配。
g (global)执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m (multiple)执行多行匹配。

1.2 RegExp 对象方法
方法 描述
compile 编译正则表达式。
exec 检索字符串中指定的值。返回找到的值,并确定其位置。
test 检索字符串中指定的值。返回 true 或 false。

1.3支持正则表达式的 String 对象的方法
方法 描述
search 检索与正则表达式相匹配的值。
match 找到一个或多个正则表达式的匹配。
replace 替换与正则表达式匹配的子串。
split 把字符串分割为字符串数组。
在这里插入图片描述
反义:
在这里插入图片描述
位置指定和负向位置指定:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值