我闯进了这个RegEx,我用Google搜索了它。很多。但不幸的是,我们并不完全理解RegEx的工作原理...... 所以要快速做到这一点,因为我工作中只有一小部分需要它,所以我需要你们。再次:))
所以这就是......
我想要的只是检索格式为0000x0000
的特定字符串。例如:
输入:NameName975x945NameName
输出:
975x945
还必须考虑这样的字符串:
NameNameName9751x9451NameNameName
(整数和字符串更长......)
答案 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()
来获取字符串中的匹配项。