如何使用 Unicode 正则表达式验证字符串的一部分

How to validate a part of string using Unicode Regular Expressions

示例字符串:https://test-welcome123.com/ablcv# 我只想验证 https://test-welcome.com 这部分。 /ablcv#$2 这部分我不想验证。 要求:

  1. URL (https://test-welcome123.com) 应为小写字母、数字、点 (.) 和连字符 (-)。
  2. 在斜线 (/) 之后可以是任何内容。

我正在使用 Unicode 正则表达式来验证字符串。 我能够验证 URL。但无法理解如何避免验证斜杠 (/) 后的字符串。

^(https://)(((([\p{Ll}\p{N}]|[\p{Ll}\p{N}][\p{Ll}\p{N}\-]*[\p{Ll}\p{N}])\.)*([\p{Ll}\p{N}]|[\p{Ll}\p{N}][\p{Ll}\p{N}\-]*[\p{Ll}\p{N}])))+$

我需要在输入 URL 后避免验证。我该怎么做?

您可以使用

^https://[\p{Ll}\p{N}]+(?:[-.][\p{Ll}\p{N}]+)*/.*

详情:

  • ^ - 字符串开头
  • https:// - 带有 ://
  • 的协议子串
  • [\p{Ll}\p{N}]+ - 一个或多个字母或数字
  • (?:[-.][\p{Ll}\p{N}]+)* - 零次或多次重复:
    • [-.] - - 或 .` 字符
    • [\p{Ll}\p{N}]+ - 一个或多个字母或数字
  • / - 一个 / 字符
  • .* - 行的其余部分(字符串)。