使用c#正则验证关键字并找出匹配项

在.net里,使用类Regex可以正则验证一些关键字并取出匹配项。

1.使用Regex.IsMatch(string  input,  string  pattern,  RegexOptions  options)匹配输入字符串与指定的正则表达式是否符合条件;

返回类型:bool  true——满足匹配条件  false——不满足匹配条件

input:string类型,输入项

pattern:string类型,指定的正则表达式

options:可选,枚举值,设置正则表达式选项

例:验证字符串中是否有“快乐”二字

private bool CheckWords()
{
     string strContent = "快乐的小鸟";
     string regex = "酸|快乐|快.+乐|甜";
     return Regex.IsMatch(strContent, regex, RegexOptions.IgnoreCase);//返回ture
}

2.使用Regex.Matches(string  input,  string  pattern,  RegexOptions  options)取出符合正则表达式条件的匹配项;

返回类型:MatchCollection集合

参数同IsMatch一致

例:正则匹配成功后,取出对应匹配项

 public string GetMatchWord()
 {
      string strContent = "快乐的小鸟";
      string regex = "酸|快乐|快.+乐|甜";
      MatchCollection result = Regex.Matches(strContent, regex);
      return result.Count > 0 ? result[0].Value : string.Empty;//返回“快乐”
 }

注:如果strContent = "快小鸟乐的";则返回"快小鸟乐"

时间: 2024-08-28 14:36:40

使用c#正则验证关键字并找出匹配项的相关文章

迅速找出数组a中是否存在相加后等于整数x的两个元素

public class QuickSearch {        public static int getMiddle(List<Integer> list, int low, int high) {           Integer temp = list.get(high);                while (low < high) {                  while (low < high && list.get(low) <

找出此产品描述中包含N个关键字的长度最短的子串

阿里巴巴笔试题:给定一段产品的英文描述,包含M个英文字母,每个英文单词以空格分隔,无其他标点符号:再给定N个英文关键词,请说明思路并变成实现方法. String extractSummary(String description , String[] keyWords) 目标:找出此产品描述中包含N个关键字的长度最短的子串(20分) W0 W1 W2 W3  Q0 W4 W5 Q1 W6 W7 W8 Q0 W9 Q1 P335 <编程之美>上的参考代码: int nTarget = N + 1

Python每日一练(2):找出html中的所有链接(Xpath、正则两个版本)

要在hrml文件中找出特定的内容,首先需要观察该内容是什么东西,在什么位置,这样才能找出来. 假设html的文件名称是:"1.html".href属性全都在a标签里. 正则版: #coding:utf-8 import re with open('1.html','r') as f: data = f.read() result = re.findall(r'href="(.*?)"',data) for each in result: print each Xpa

二分法检索(控制台输入一组数,找出关键字和最大值)

算法:二分法查找适用于数据量较大时,但是数据需要先排好顺序.主要思想是:(设查找的数组区间为array[low, high]) (1)确定该区间的中间位置K (2)将查找的值T与array[k]比较.若相等,查找成功返回此位置:否则确定新的查找区域,继续二分查找.区域确定如下:a.array[k]>T 由数组的有序性可知array[k,k+1,--,high]>T;故新的区间为array[low,--,K-1]b.array[k]<T 类似上面查找区间为array[k+1,--,high

通过代码审计找出网站中的XSS漏洞实战(三)

一.背景 笔者此前录制了一套XSS的视频教程,在漏洞案例一节中讲解手工挖掘.工具挖掘.代码审计三部分内容,准备将内容用文章的形式再次写一此,前两篇已经写完,内容有一些关联性,其中手工XSS挖掘篇地址为快速找出网站中可能存在的XSS漏洞实践(一)https://segmentfault.com/a/1190000016095198 本文主要记录通过代码审计的方式进行XSS漏洞挖掘,分为了找出关键位置,正向审计,反向审计三个部分,审计的系统为permeate渗透测试系统,测试系统的搭建可以参考笔者的

在一个SQL Server表中的多个列找出最大值

在一个SQL Server表中一行的多个列找出最大值 有时候我们需要从多个相同的列里(这些列的数据类型相同)找出最大的那个值,并显示 这里给出一个例子 IF (OBJECT_ID('tempdb..##TestTable') IS NOT NULL) DROP TABLE ##TestTable CREATE TABLE ##TestTable ( ID INT IDENTITY(1,1) PRIMARY KEY, Name NVARCHAR(40), UpdateByApp1Date DATE

编程之美 1.5快速找出故障机器

题目: 有很多服务器存储数据,假设一个机器仅存储一个标号为ID的记录,假设机器总量在10亿以下且ID是小于10亿的整数,假设每份数据保存两个备份,这样就有两个机器存储了同样的数据. 问题是:1.假设在某个时间得到一个数据文件ID的列表,是否能快速地找出表中仅出现一次的ID?即快速找出出现故障的机器存储的数据ID. 2.如果有两台机器出现故障呢?(假设存储同一份数据的两台机器不会同时出现故障,即列表中缺少的是两个不等的ID) 给出了4种解法思路 解法一: 最传统的比较列表,需要遍历整个列表,记录每

锦程网考试由试题从模拟题中批量找出答案,Python

jincin的考试又来了,像往常一样会先有模拟题发下来,而考试题目几乎都在里面原题. 本来是,在考试时,把题目一题一题地在模拟题里搜,但觉得太累了. 于是写了一个Python的脚本批量查找,用到正则,由于不知道行尾是\r还是\n还是\r\n,干脆也用正则,而非split('\r')这么硬板了. 添了颜色,效果不错. Python: 效果: - 锦程网考试由试题从模拟题中批量找出答案,Python,布布扣,bubuko.com

【C#学习笔记】【6】找出0-100以内的所有的能被3整除或者被5整除余2的数(二)(流程控制)

在上节中,我们画的那个流程图还记得么?判断部分我们会了,就差循环了,下面我会介绍三种常用的循环. 循环结构 while循环(当循环,至少我的C语言老师这么叫) 先来介绍一下语法吧,如下 while(条件表达式) { //这里是循环体,当上面的条件表达式为真时,执行循环体,否则退出 } while后面跟一个条件表达式,如果是真的话才会执行循环.执行完循环体再判断条件表达式,直到为假的时候推出循环. 例如我们输出1到100的数,例程如下: int i=1; while (i <= 100) { Co