断言 | |
---|---|
(?=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
(示例:匹配所有用 {} 括起来的内容,只提取括号内的内容)·
(?<={).*?(?=})
该正则表达式利用了正则表达式中的"正向断言"和"负向断言",
(?<={) 表示匹配左花括号 { 的前一位,也就是左花括号之后紧挨着的那个字符;
(?=}) 表示匹配右花括号 } 的前一位,也就是右花括号之前紧挨着的那个字符。
两个断言加上中间的 .*? 表示匹配所有在左右花括号之间的内容,并且使用非贪婪模式以尽可能少地匹配字符,最终只留下花括号内的内容。