如何创建可以识别上述任何格式的Guid的正则表达式?
"bd1a40db-f47c-4bad-a7f8-0d54d854f6fc";
"bd1a40dbf47c4bada7f80d54d854f6fc";
"something bd1a40dbf47c4bada7f80d54d854f6fc";
"something bd1a40db-f47c-4bad-a7f8-0d54d854f6fc";
"somethingbd1a40db-f47c-4bad-a7f8-0d54d854f6fc";
"somethingbd1a40db-f47c-4bad-a7f8-0d54d854f6fcsomething";
我一直在努力尝试:
^ [{|(]?[0-9a-fA-F] {8}-{3} [0-9a-fA-F] {12} [)|}]?| [{|(]?[0 -9a-fA-F] {8}([0-9a-fA-F] {4}){3} [0-9a-fA-F] {12} [)|}]] $
但这并不适用于所有情况。 TryParse()方法仅适用于前两种情况。
请帮忙。
最佳答案
从Wikipedia:
在其规范的文本表示形式中,UUID的十六个八位字节
表示为32个十六进制(以16为基)的数字,以五个显示
组之间用连字符分隔,形式为8-4-4-4-12
,共36个
人物
那么正则表达式将是:
{?\w{8}-?\w{4}-?\w{4}-?\w{4}-?\w{12}}?
Live demo