-1

我在 JavaScript 中有一个文件签名,它是一个SHA以某个值开头和结尾的字符串:

SHA256-RSA-V1,140f3059eac,384,urn:alx:uid:09bd9e42-0348-4c35-910d-2d7fdaa2,1, ...

我只想要这部分:urn:alx:uid:09bd9e42-0348-4c35-910d-2d7fdaa2

它总是从 开始urn,我知道,但在逗号之前,值可以是任何东西。

如何从urnJavaScript 中的直到逗号准确获取子字符串?

编辑:
我尝试从中拆分字符串,,但可能有很多逗号并且代码变得混乱。我无法从urn第一个逗号获得正则表达式。在第一个逗号之后,我想停下来。

4

3 回答 3

1

我会使用以下正则表达式:

(urn:alx:uid:[a-f0-9-]+)

示例:http ://regexr.com?3681h

或替代方案:

(urn:alx:uid:[^,]+)

示例:http ://regexr.com?3681k

在这种情况下两者都是平等的,所以选择你更了解的那个。

于 2013-09-06T11:38:01.887 回答
0

使用正则表达式

string = "SHA256-RSA-V1,140f3059eac,384,urn:alx:uid:09bd9e42-0348-4c35-910d-2d7fdaa2"
var matches = string.match(/urn.*\,/);
alert(matches[1]);
于 2013-09-06T11:41:12.553 回答
0

如果你知道 ,urn: 并且逗号总是在字符串中,你可以做这样的事情

str = "SHA256-RSA-V1,140f3059eac,384,urn:alx:uid:09bd9e42-0348-4c35-910d-2d7fdaa2,1,随机"; 结果 = "urn:" + str.split(",urn:").slice(1).join().split(",")[0];


或者你可以使用正则表达式

str = "SHA256-RSA-V1,140f3059eac,384,urn:alx:uid:09bd9e42-0348-4c35-910d-2d7fdaa2,1,随机"; str.match(/urn:.+?,/);

于 2013-09-06T11:46:26.590 回答