我是regex的新手,几分钟前有人帮我看了以下内容:
(?:^|(?<=\D))\d{4}-\d{1,5}(?=\D|$)
现在我只想在它所寻找的字符串没有立即被空格和“狗”这个词落后的情况下部署它的发现
例如,如果遇到“2013-29883”,它将返回一个值,但如果遇到“2013-29883 Dog”则不返回。
感谢您的帮助。
答案 0 :(得分:3)
正则表达式可以缩短很多字符:
(?<!\d)\d{4}-\d{1,5}(?!\d)
因此它与2013-29883
后跟Dog
不匹配,请使用另一个否定前瞻:
(?<!\d)\d{4}-\d{1,5}(?!\d)(?! Dog)
答案 1 :(得分:1)
如果它在c#中,那么你可以使用Regex class:
string pattern = "(?:^|(?<=\D))\d{4}-\d{1,5}(?=\D|$)";
if(Regex.IsMatch(input, pattern))
{
// Your code of a match
}