Regex 与正则表达式斗争

Regex 与正则表达式斗争,regex,Regex,我正在努力寻找可以用来对符合特定模式的数据进行分类的正则表达式: 这里有几个例子: pli:06e9b616-5712-d0e9-1bc2-000012e61393 pli:6fdd187d-cbdc-3028-4a8d-000020f3449a pli:0472def9-ccf3-e4e9-ca05-00005fecf9f8 正如您所看到的,每个字符串都以pli开头,并且它们都具有相同的模式,即使字符不同。每组字符在同一位置用“-”分隔。看起来它的形式是pli:UUID,其中UUID是一个通

我正在努力寻找可以用来对符合特定模式的数据进行分类的正则表达式:

这里有几个例子:

pli:06e9b616-5712-d0e9-1bc2-000012e61393
pli:6fdd187d-cbdc-3028-4a8d-000020f3449a
pli:0472def9-ccf3-e4e9-ca05-00005fecf9f8

正如您所看到的,每个字符串都以pli开头,并且它们都具有相同的模式,即使字符不同。每组字符在同一位置用“-”分隔。

看起来它的形式是pli:UUID,其中UUID是一个通用唯一标识符。试试这个:

pli:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}
我也允许使用大写字母


请参见

它的形式类似于pli:UUID,其中UUID是一个通用的唯一标识符。试试这个:

pli:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}
我也允许使用大写字母


请参见

这是我能想到的最简短的表达:

pli:(?i)[\da-f]{8}-([\da-f]{4}-){3}[\da-f]{12}
(?i)
表示“忽略大小写”(省去了到处键入
a-zA-Z
),我通过识别中间的3组4位数字来缩写正则表达式


请看一个

这是用我能想到的最简短的表达:

pli:(?i)[\da-f]{8}-([\da-f]{4}-){3}[\da-f]{12}
(?i)
表示“忽略大小写”(省去了到处键入
a-zA-Z
),我通过识别中间的3组4位数字来缩写正则表达式


请参见a

So,以
pli:
开头,然后是数字/字母/破折号一次或多次?因此,以
pli:
开头,然后是数字/字母/破折号一次或多次?非常好!看起来就是那个!我从来没有正确理解过正则表达式的内容。。。非常感谢你!看起来就是那个!我从来没有正确理解过正则表达式的内容。。。非常感谢你,汉克,但那是无效的。这里缺少括号吗?@Amara是的。我把几个括号放错地方了。现在可以了,我已经编辑了答案。请参见此处演示的链接。顺便说一句,这比另一个答案要短一些(因此更好):)你们两个都很聪明。。。感谢学习正则表达式是个好主意,因为它在大多数语言中都可用。如果你想学习,请阅读(顺便说一句,该网站是网上最好的正则表达式参考),并尝试在这里回答一些正则表达式问题-熟能生巧!)哈哈,波希米亚人,我不确定我是否能给其他人提建议,但也许是随着时间的推移。谢谢你的链接和帮助。你是个明星!!!谢谢,但那是无效的。这里缺少括号吗?@Amara是的。我把几个括号放错地方了。现在可以了,我已经编辑了答案。请参见此处演示的链接。顺便说一句,这比另一个答案要短一些(因此更好):)你们两个都很聪明。。。感谢学习正则表达式是个好主意,因为它在大多数语言中都可用。如果你想学习,请阅读(顺便说一句,该网站是网上最好的正则表达式参考),并尝试在这里回答一些正则表达式问题-熟能生巧!)哈哈,波希米亚人,我不确定我是否能给其他人提建议,但也许是随着时间的推移。谢谢你的链接和帮助。你是个明星!!!