使用 .ne t正则表达式匹配字符串时遇到一些问题。 例如,我有以下字符串:
II Kop 15/1544
我希望匹配 / 字符后面的第二个数字。 另外,我只想在前面的数字后跟斜线时匹配该数字。此数字也必须只有2或4位数。
我想出了类似的东西:
(\ B [0-9] {2} \ C | \ B [0-9] {4} \ b)中
它匹配2位或4位数字,因为它匹配15和1544。 现在我正在尝试积极的观察:
(\ B [0-9] {2} \ C | \ B [0-9] {4} \ b)中(小于?=(\ B [0-9] {0,10} \ b )\ S *(/)\ S *)
不匹配。我究竟做错了什么?请帮忙。
答案 0 :(得分:2)
在捕获组之前放置外观更简单。
(?<=[0-9] / )([0-9]{4}|[0-9]{2})
.NET中允许使用可变长度的后视,因此您也可以将正则表达式编写为:
(?<=[0-9]\s*/\s*)([0-9]{4}|[0-9]{2})