我有以下三个弦样本:否定的正则表达式模式匹配
day/Mon/done
day/Tue/done
day/Wed/done
如何使用否定其他两个提取day/Wed/done
?下面不起作用。
/day/[^(Mon|Tue)]/done
我有以下三个弦样本:否定的正则表达式模式匹配
day/Mon/done
day/Tue/done
day/Wed/done
如何使用否定其他两个提取day/Wed/done
?下面不起作用。
/day/[^(Mon|Tue)]/done
它不是如何否定character classes工作 - 他们仍然解释[..]
内的每个字符作为单个字符。而且也没有匹配
day/?/done
其中?
是只有一个字符。无论使用任何一种技术,Regular expression to match a line that doesn't contain a word?(感谢,彼得!),或充分利用了一个事实,这些天来的第一个字符是唯一的:
day/[^MT]../done
你可以尝试lookahead。
'day/(?!(Mon|Tue)).*/done'
OP *希望*匹配'Wed'(或者更确切地说,既不是'Mon'也不是'Tue')。 – usr2564301 2014-09-12 22:46:13
对不起。我更新了我的答案。 – plafratt 2014-09-12 22:48:11
如果你对这个页面的“关联”的右边看,你可能会看到这样的疑问:http://stackoverflow.com/questions/406230/regular-expression-to-match-string-不包含单词?rq = 1 – Peter 2014-09-12 21:56:03
不是C问题 - 建议移除标记。 – chux 2014-09-12 22:11:08
感谢@Peter指向链接。 – adizone 2014-09-12 23:16:31