0
点赞
收藏
分享

微信扫一扫

C# 关于正则表达式断言(示例:匹配所有用 {} 括起来的内容,只提取括号内的内容)


断言

(?=X )

右边要有X ,定位到右边第一个

(?!X)

右边不能有X,定位到右边最后一个

(?<=X)

左边要有X ,定位到左边第一个

(?<!X)

左边不能有X ,定位到左边最后一个

asd123fds

右边要有fds
123(?=fds )

//D:\VS\VS_PROGRAM\日21稿\自231类\BIN\DEBUG\DATABASE\ANIMALHELPER.MDF
dbName = Regex.Match(dbName, @"(?![\w\W]*?\\)[\w]*").Value;
//ANIMALHELPER

(示例:匹配所有用 {} 括起来的内容,只提取括号内的内容)·

(?<={).*?(?=})

该正则表达式利用了正则表达式中的"正向断言"和"负向断言",

(?<={) 表示匹配左花括号 { 的前一位,也就是左花括号之后紧挨着的那个字符;

(?=}) 表示匹配右花括号 } 的前一位,也就是右花括号之前紧挨着的那个字符。

两个断言加上中间的 .*? 表示匹配所有在左右花括号之间的内容,并且使用非贪婪模式以尽可能少地匹配字符,最终只留下花括号内的内容。


举报

相关推荐

0 条评论