用于匹配和排除其余部分的正则表达式

时间:2016-04-21 09:55:54

标签: regex

我想匹配一个非常简单的数字条形码模式:1/2

我的正则表达式是:([0-9]{1}\/[0-9]{1})

问题在于我匹配我想要排除的内容。我需要精确匹配,不包括其余部分。

我的正则表达式返回有效模式:

12344分之1

2 / 23ABC

2/233423/2425

[更新]

使用GREP测试了一些txt文件,仍有问题。例如:

2/3/16(它是一个日期,它与模式匹配,所以grep返回整行)

我对正则表达式并不十分精湛,所以非常感谢任何帮助

此致

1 个答案:

答案 0 :(得分:0)

试试这个

(?:^|\s)(\d+\/\d+)(?=\s|$)

Regex demo

<强>解释
(?: … ):非捕获组sample
^:根据多行模式sample来开始字符串或行首 |:替代/或操作数sample
\:逃脱一个特殊字符sample
( … ):捕获小组sample
+:一个或多个sample (?=…):积极前瞻sample
$:字符串结束或行尾,具体取决于多行模式sample