JavaScript:如何使用RegEx在字符串中获取特定文本

时间:2016-10-13 16:23:49

标签: javascript regex string photoshop-script

我闯进了这个RegEx,我用Google搜索了它。很多。但不幸的是,我们并不完全理解RegEx的工作原理...... 所以要快速做到这一点,因为我工作中只有一小部分需要它,所以我需要你们。再次:))

所以这就是......

我想要的只是检索格式为0000x0000的特定字符串。例如:

输入:NameName975x945NameName 输出: 975x945

还必须考虑这样的字符串: NameNameName9751x9451NameNameName (整数和字符串更长......)

2 个答案:

答案 0 :(得分:1)

String.prototype.match()中使用正则表达式来获取字符串的特定部分。

str.match(/\d+x\d+/)[0]

var str = "NameName975x945NameName";
var match = str.match(/\d+x\d+/)[0];
console.log(match)

答案 1 :(得分:0)

我们需要更多细节,但我会按顺序进行:

假设x之前和之后可以有任意数量的数字,这些数字可以有不同的长度:

[\d]+x[\d]+

假设x之前的位数需要等于x之后的位数(如你的例子中所示)并且这个数字是有限的(并且足够小以致你的正则表达式不长) :

[\d]{1}x[\d]{1}|[\d]{2}x[\d]{2}|[\d]{3}x[\d]{3}(依此类推)

有关处理此问题的更多详细信息,请查看this related answer,因为数字的长度会变长。

然后,您可以使用正则表达式String.prototype.match()来获取字符串中的匹配项。