使用文本、数字和 url 组合创建正则表达式
Creating a regex with text, number and url combination
我正在尝试为以下组合创建正则表达式
Alphanumerictext1:1234:12:124:aplhnumericText2:www.whosebug.com
在上述格式中,即使文本包含字母数字(第一个字段)或由 : 分隔的增量值,它也应该验证。
下面是几个有效的例子:
Alphanumerictext1
Alphanumerictext1:1234
Alphanumerictext1:1234:12
Alphanumerictext1:1234::124:aplhnumericText2
Alphanumerictext1::12
Alphanumerictext1:1234:12:124:aplhnumericText2:www.whosebug.com
为此编写了如下所示的部分正则表达式 ^([\w\s\.]+(:\d*){0,3})$
但无法满足由 :aplhnumericText2
和 www.whosebug.com
.
分隔的最后 2 个值
您可以使用此正则表达式来验证提供的所有示例:
^[\w\h.]+(?:(?::\d*){1,3}(?::\w*(?::\w+(?:\.\w+)*)?)?)?$
正则表达式详细信息:
^
: 开始
[\w\h.]+
:
(?:
: 启动非捕获组#1
(?::\d*){1,3}
:匹配:
后跟0+个数字。匹配出现 1 到 3 次。
(?:
: 启动非捕获组 #2
:\w*
:匹配:
后面的0+个单词字符
(?:
: 启动非捕获组 #3
:\w+(?:\.\w+)*
:匹配 :
后跟主机名
)?
: 结束可选非捕获组#3
)?
: 结束可选的非捕获组#2
)?
: 结束可选非捕获组#1
$
:结束
我正在尝试为以下组合创建正则表达式
Alphanumerictext1:1234:12:124:aplhnumericText2:www.whosebug.com
在上述格式中,即使文本包含字母数字(第一个字段)或由 : 分隔的增量值,它也应该验证。
下面是几个有效的例子:
Alphanumerictext1
Alphanumerictext1:1234
Alphanumerictext1:1234:12
Alphanumerictext1:1234::124:aplhnumericText2
Alphanumerictext1::12
Alphanumerictext1:1234:12:124:aplhnumericText2:www.whosebug.com
为此编写了如下所示的部分正则表达式 ^([\w\s\.]+(:\d*){0,3})$
但无法满足由 :aplhnumericText2
和 www.whosebug.com
.
您可以使用此正则表达式来验证提供的所有示例:
^[\w\h.]+(?:(?::\d*){1,3}(?::\w*(?::\w+(?:\.\w+)*)?)?)?$
正则表达式详细信息:
^
: 开始[\w\h.]+
:(?:
: 启动非捕获组#1(?::\d*){1,3}
:匹配:
后跟0+个数字。匹配出现 1 到 3 次。(?:
: 启动非捕获组 #2:\w*
:匹配:
后面的0+个单词字符(?:
: 启动非捕获组 #3:\w+(?:\.\w+)*
:匹配:
后跟主机名
)?
: 结束可选非捕获组#3
)?
: 结束可选的非捕获组#2
)?
: 结束可选非捕获组#1$
:结束