如果我想排除“yapple”,为什么我不能使用 (?!y)apple?
在 一个词之前代替 (?!y) 是什么?
http://jsfiddle.net/ksevelyar/SbCCx/4/
最佳答案
回答您的原始问题:
您可以明确编码“前面没有任何内容(字符串开头)或非 y 字符”
/(?:^|[^y])apple/
或者根据您想要做什么,您可以使用字边界匹配
/\bapple/
\b
匹配字母数字字符 (\w) 和非字母数字字符 (\W) 之间的边界其他环境(如 Perl)有时会方便地内置此后视功能:
/(?=)/ positive lookahead
/(?!)/ negative lookahead
/(?<=)/ positive lookbehind
/(?<!)/ negative lookbehind
至于不替换pre 里面的东西的问题
如果您执行两步过程,也许会更容易:首先从字符串中删除
<pre>
标签内的所有文本,然后进行替换,然后在完成后重新添加隐藏文本。关于javascript - 替代 (?!y) 但在单词之前,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8214777/