[c#.Net]正则表达式 记录
- @符号
c#字符串前使用@符号,“@”表示,跟在它后面的字符串是个“逐字字符串”。string x="D:\\My Huang\\My Doc";
string y = @"D:\My Huang\My Doc"; //等效 - 基本语法
\d 0-9数字 \D \d的补集,即所有非数字的字符 \w 单词字符,包括:大小写字符,0-9数字,下划线 \W \w的补集 \s 空白字符 \S \s的补集 . 除换行符\n外的所有字符 [...] 匹配[]内列出的所有字符 [^...] 匹配非[]内列出的所有字符 (...) 匹配组合,记录 (?:...) 匹配组合,非记录 - 定位
^ 字符串开始 $ 字符串结束 \b 匹配一个单词的边界 \B 匹配一个非单词边界 - 重复描述字符
{n} 匹配前面的字符n次 {n,} 匹配前面的字符大于等于n次 {n,m} 匹配前面的字符n到m次 ? 0到1次 + 1到多次 * 0到多次 - 组与非捕获组
正则表达式引擎会记忆"()"中匹配到的内容,作为一个组,并且可以通过索引的方式进行引用。表达式中的"\1",用于反向引用表达式中出现的第一个组string x = "Find somebody to love me, Find somebody to love";
Regex r = new Regex(@"^Find ([a-z]{8}) to ([a-z]{4}) me, Find \1 to \2$");
// r.Matches(x).Count --> 1
// Groups[0]是整个匹配的字符串,Groups[1]是组内的内容
// r.Matches(x).Groups[1].Value --> somebody Regex r2 = new Regex(@"^Find (?<group1>[a-z]{8}) to ([a-z]{4}) me, Find \1 to \2$");
// r2.Matches(x).Groups["group1"].Value string y = "Find somebody somebody";
regex r3 = new Regex(@"(?<g1>[a-z]+) \1");
if (r3.IsMatch(y))
{
y = r3.Replace(y, "${g1}");
} - 贪婪与非贪婪
在*,+符号后添加?,可以将匹配模式改成非贪婪 - 忽略大小写
Regex reg = new Regex(regPattern, RegexOptions.IgnoreCase);
[c#.Net]正则表达式 记录的更多相关文章
- swift 手机号码正则表达式 记录一下
func isTelNumber(num:NSString)->Bool { var mobile = "^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$&qu ...
- python正则表达式记录
元字符: * 星号 它指定前一个字符可以被匹配零次或更多次 >>> re.match('a[bcd]*b', 'abcbdabcd').group() 'abcb' >& ...
- 关于在Eclipse中使用正则表达式替换的一点记录(使用正则表达式的分组)
今天在工作中遇到了点替换的麻烦事,由于数据类进行了变动,具体情况是这样的,需要将下面的代码: player.skillData[i].name 替换为: player.skillData.getSki ...
- MySQL之单表查询 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录数:LIMIT 九 使用正则表达式查询
MySQL之单表查询 阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER B ...
- linux正则表达式回忆记录
好久没用linux grep相关正则表达式,现在简单记录下. grep简介 grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.通常grep有三种版本grep.egr ...
- 【java 正则表达式】记录所有在java中使用正则表达式的情况
本篇记录在java中邂逅正则表达式的所有美丽瞬间.因为在java和js中正则表达式的语法并不一致. 1.匹配字符串中有出现[2.1开头或者&2.1或者&3.1等的] Pattern m ...
- 【js 正则表达式】记录所有在js中使用正则表达式的情况
说实话,对正则表达式有些许的畏惧感,之前的每次只要碰到需要正则表达式去匹配的情况,都会刻意的躲过或者直接从度娘处获取. 此时此刻,感觉到了某一个特定的点去触及她.但笔者对于正则表达式使用上的理解是这样 ...
- JS正则表达式,记录自己所学所用的内容
还没接触正则表达式感觉确实有那么点难度,但接触到后自己琢磨了几天也没发现那么难. 现在教教刚学的或者还没接触正则表达式的同学们入入门,一起学习. 正则表达式基本语法 ***************** ...
- JS正则表达式学习记录
JS:正则表达式学习记录 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
随机推荐
- python基础之二
1. 数据类型 1.1 数字 数字的作用:与数字相关,例如:手机号.QQ号.身份证号等,用数字表示 数字分为:整数(int).浮点数(float).复数(了解) 例子: age = 10 print( ...
- Matlab设置形状大小
x=0:10; y=2*x; plot(x,y,'-*','linewidth',0.5,'markersize',6)%%默认线宽为0.5,点大小为6 说明:调整线宽也可改变点的形状,这实际上是通过 ...
- ylbtech-LanguageSamples-Generics(泛型)
ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-Generics(泛型) 1.A,示例(Sample) 返回顶部 “泛型”示例 (C#) ...
- 渗透笔记0x00
今天朋友在入侵织梦的网站系统,通过最新的Exp获得了织梦后台的账号和密码 账号:admin 密码:abc123456 但是,找来找去找不到后台,就让我提权试试. 我看了下:http://pxc.nci ...
- 认识多渲染目标(Multiple Render Targets)技术 【转】
认识多渲染目标(Multiple Render Targets)技术 首先,渲染到纹理是D3D中的一项高级技术.一方面,它很简单,另一方面它很强大并能产生很多特殊效果. 比如说发光效果,环境映射,阴影 ...
- Ubuntu Tomcat
启动80端口: 修改server.xml Connector port=80 修改/etc/default/tomcat AUTHBIND=yes 查看/etc/authbind/byport/下 ...
- 蓝点通用管理系统V13版发布了!
蓝点通用管理系统13版已发布! 重磅新功能:系统的通知和提醒功能,增加微信方式,微信通知.微信查询数据.微信拍照上传....... 蓝点的客户管理系统.进销存管理系统.产品管理系统.工作流管理系统.投 ...
- (转)Netty : writeAndFlush的线程安全及并发问题
rocketmq用netty实现的网络连接,发现它多个线程掉用一个channel连接,所以这个是线程安全的? 使用Netty编程时,我们经常会从用户线程,而不是Netty线程池发起write操作,因为 ...
- Docker与PAAS
Docker与PAAS 学习了:https://blog.csdn.net/raindaywhu/article/details/52057103 Docker基于内存的:
- JMS-activeMq发布订阅模式(非持久订阅)
Publisher的代码: import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Deli ...