Javascript regex匹配(中间是随机字符串)

Javascript regex match (random string in the middle)

本文关键字:随机 字符串 中间 regex 匹配 Javascript      更新时间:2023-09-26

我想测试一个字符串是否可以匹配javascript 中的模式

问题是中间有一个随机字符串模式:"account/os/some_random_string/call_back"

所以下面的字符串将与匹配

var mystring="account/os/1234567/call_back"

感谢

您想要一个以account/os/开头、以/call_back结尾的正则表达式,这里有一个:

/^account'/os'/.*'/call_back$/

.*将匹配任何随机字符串(包括空字符串)。如果您想要随机字符串的最小长度,请更改*:

.*    : 0 or more characters
.+    : 1 or more characters
.{n,} : n or more characters (replace n with an actual number)

这取决于情况。如果你想要account/os/和/call_back之间的每一个字符,请使用这个:

var randomStr = mystring.match(/account'/os'/(.*)'/call_back/)[1];

匹配将返回一个包含2个元素的数组,第一个包含整个匹配,第二个包含组(.*)。如果您完全确定至少有一个字符,请将*替换为+。

如果您对必须收集的文本有更具体的了解,这里有一些替代品。(点几乎匹配所有内容):

[A-z] for any of A, B, .. , Y, Z, a, b, .. , y, z
[0-9] for any digit

你可以混合,然后变得花哨,就像这样:

[A-Ea-e0-36-8]

所以,你的模式可能看起来像这样:

/account'/os'/([A-Ea-e0-36-8]*)'/call_back/

你的例子有一个数字,所以你可能在寻找:

/account'/os'/([0-9]*)'/call_back/

/account'/os'/('d*)'/call_back/

这是一样的事情。

希望能有所帮助。

编辑:什么JS答案没有jsfiddle?http://jsfiddle.net/U2Jhw/