【发布时间】:2010-11-24 05:59:19
【问题描述】:
开始一个新问题,因为我的另一个问题解决了正则表达式的另一个问题。
这是我的正则表达式:
(?i)\\d{1,4}(?<!v(?:ol)?\\.?\\s?)(?![^\\(]*\\))
为了清楚起见,将正则表达式分开:
(?i) - 不区分大小写
\\d{1,4} - 1-4 位数字
(?<!v(?:ol)?\\.?\\s?) 数字前面不能有'v'、'v.'、'vol'、'vol.',末尾有或没有空格。
(?![^\\(]*\\)) - 数字不能在括号内。
除了 'vol.' 之外,它都可以工作。位:
@"Words words 342 words (2342) (words 2 words) (words).ext" 结果 342 - 正确。
@"Words - words words (2010) (words 2 words) (words).ext" 结果为零 - 正确。
@"words words v34 35.ext" 结果 34 - 不正确。
@"Words vol.342 343 (1234) (3 words) (desc).ext" 结果 342 - 不正确。
我的 'vol.' 做错了什么部分?
【问题讨论】:
标签: objective-c regex regexkitlite