regex - 我需要从正则表达式中排除单词

标签 regex

我有这个正则表达式:

^[a-z0-9]+([.\-][a-z0-9]+)*$

我只需要从匹配中排除一个单词“www”。 我尝试了否定前瞻,但没有成功。

最佳答案

使用这样的否定前瞻:

^(?!www$)[a-z0-9]+([.-][a-z0-9]+)*$
 ^^^^^^^^

这不会匹配等于 www 的字符串。

请参阅regex demo

如果您想让包含 -www-.www. 的字符串匹配失败,请使用

^(?!.*\bwww\b)[a-z0-9]+([.-][a-z0-9]+)*$

参见another regex demo 。此模式包含一个 (?!.*\bwww\b) 前瞻,如果字符串内某处有 www 并且没有数字或字母,则整个匹配失败由于 \b 单词边界而将其舍入。

关于regex - 我需要从正则表达式中排除单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37924699/

相关文章:

regex - Notepad++ 删除非字母数字字符

将原始文本转换为数据列的正则表达式

regex - vimrc 检测远程连接

javascript - 正则表达式@字边界中的字符

python - 如何删除括号内的内容而不删除括号

javascript - RegExp 问题 - 字符限制和空白忽略

javascript - 在 JavaScript 中解析 URL

javascript - 使用正则表达式匹配不在 img 标签中的模式

regex - 匹配模式与分数

python - 寻找一种从 Python 列表中指定自定义正则表达式通配符的方法