我正在努力寻找可用于对匹配特定模式的数据进行分类的正则表达式:
这里有几个例子:
pli:06e9b616-5712-d0e9-1bc2-000012e61393
pli:6fdd187d-cbdc-3028-4a8d-000020f3449a
pli:0472def9-ccf3-e4e9-ca05-00005fecf9f8
如您所见,每个字符串都以 pli: 开头,即使字符不同,它们都具有相同的模式。每组字符在同一位置用“-”分隔。
我正在努力寻找可用于对匹配特定模式的数据进行分类的正则表达式:
这里有几个例子:
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:(?i)[\da-f]{8}-([\da-f]{4}-){3}[\da-f]{12}
意思是“(?i)
忽略大小写”(不必在a-zA-Z
任何地方输入),我通过识别中间的 3 组 4 位数字来缩写正则表达式
在 rubular 上查看现场演示