JS 正则表达式帮助域捕手
JS Regex Help Domain Catcher
我目前正在创建一个 JavaScript 正则表达式,但我似乎无法弄清楚如何匹配特定域。这是一个例子。
我需要创建一个正则表达式来匹配任何严格包含 (text.com) 但深度不超过两个域级别的域。例如:
- text.com --> 匹配
- test.text.com --> 匹配
foo.test.text.com 将不匹配,因为它包含超过 text.com(foo 和 test)的两个域级别(如果有意义的话)。
到目前为止,我已经能够创建一个正则表达式,它可以找到超过 text.com 的一个域级别的任何匹配项,但它仍然匹配它不应该匹配的域。我在想它需要一个我试过但可能配置不正确的否定前瞻断言?
我正在使用
(?<!\w)(\w+.{1}text\.com)
这是我当前的正则表达式编辑器的 link,如有任何帮助,我们将不胜感激!
https://regex101.com/r/P053fv/1
当前有多少正则表达式失败的示例:https://i.stack.imgur.com/LtD9R.png
此正则表达式将匹配以 text.com 结尾且不超过 1 个子域的域:
^([^.]+?\.)?text\.com$
^
从字符串开始
([^.]+?\.)?
以一个点结尾的可选字符串组
text\.com
关注 text.com
$
字符串结尾
https://regex101.com/r/O7zr4K/1
Matching
Non matching
text.com
foo.test.text.com
test.text.com
foo2.no.match.here.text.com
我目前正在创建一个 JavaScript 正则表达式,但我似乎无法弄清楚如何匹配特定域。这是一个例子。
我需要创建一个正则表达式来匹配任何严格包含 (text.com) 但深度不超过两个域级别的域。例如:
- text.com --> 匹配
- test.text.com --> 匹配
foo.test.text.com 将不匹配,因为它包含超过 text.com(foo 和 test)的两个域级别(如果有意义的话)。
到目前为止,我已经能够创建一个正则表达式,它可以找到超过 text.com 的一个域级别的任何匹配项,但它仍然匹配它不应该匹配的域。我在想它需要一个我试过但可能配置不正确的否定前瞻断言?
我正在使用
(?<!\w)(\w+.{1}text\.com)
这是我当前的正则表达式编辑器的 link,如有任何帮助,我们将不胜感激! https://regex101.com/r/P053fv/1
当前有多少正则表达式失败的示例:https://i.stack.imgur.com/LtD9R.png
此正则表达式将匹配以 text.com 结尾且不超过 1 个子域的域:
^([^.]+?\.)?text\.com$
^
从字符串开始([^.]+?\.)?
以一个点结尾的可选字符串组text\.com
关注 text.com$
字符串结尾
https://regex101.com/r/O7zr4K/1
Matching | Non matching |
---|---|
text.com | foo.test.text.com |
test.text.com | foo2.no.match.here.text.com |