我有这个带有负面回溯的正则表达式,因为它在 Firefox 和 Internet Explorer 中不受支持,需要替代回溯。有人可以在这里帮助我修改表达式吗? 这是表达式:
((?=^.{1,254}$)(^(((?!-)[a-zA-Z0-9-]{1,63}(?<!-).)+(?!-)[a-zA-Z0-9-]{1,63}(?<!-)).?$)|(^((?!-)[a-zA-Z0-9-]{1,63}(?<!-))$))
我尝试像这样修改表达式,但它仍然无法按预期工作:
((?=^.{1,254}$)(^(((?!-)[a-zA-Z0-9-]{1,63}"([^"-]?)".)+(?!-)[a-zA-Z0-9-]{1,63}"([^"-]?)").?$)|(^((?!-)[a-zA-Z0-9-]{1,63}"([^"-]?)")$))
有人可以在这里帮助我吗?
以下是需要在表达式中使用 outlookbehind 的测试用例:
- *.abc - 应该不起作用
- 应该不起作用
- pg.ing-ad - 应该工作
- www.abc.com - 应该工作
- *.de; - 不应该工作
- a - 应该工作
- *.d-e - 应该不起作用
- www.abc def.com - 不应该工作
这将通过所有测试用例:
^(?=.{1,254}$)[a-zA-Z0-9](?:(?:[-.]?[a-zA-Z0-9]){0,62})+$
演示和解释