JavaScript:如何使用正则表达式获取字符串中的特定文本

JavaScript:如何使用正则表达式获取字符串中的特定文本,javascript,regex,string,photoshop-script,Javascript,Regex,String,Photoshop Script,我跳进这个正则表达式,用谷歌搜索它。很多但不幸的是,我不太明白正则表达式是如何工作的。。。 所以,为了加快进度,因为我的工作中只有一小部分需要它,所以我需要你们。再次:)) 就这样 我只想检索格式为0000x0000的特定字符串。例如: 输入:NameName975x945NameName 输出: 975x945 也必须考虑这样的字符串: name9751x9451nameName (整数和字符串较长…在中使用正则表达式获取字符串的特定部分 str.match(/\d+x\d+/)[0] v

我跳进这个正则表达式,用谷歌搜索它。很多但不幸的是,我不太明白正则表达式是如何工作的。。。 所以,为了加快进度,因为我的工作中只有一小部分需要它,所以我需要你们。再次:))

就这样

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

输入:
NameName975x945NameName
输出:
975x945

也必须考虑这样的字符串:

name9751x9451nameName
(整数和字符串较长…

在中使用正则表达式获取字符串的特定部分

str.match(/\d+x\d+/)[0]
var str=“NameName975x945NameName”;
var match=str.match(/\d+x\d+/)[0];

console.log(match)
我们需要更多的细节,但我会按顺序进行:

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

[\d]+x[\d]+

假设x之前的位数需要等于x之后的位数(如您的示例所示),并且这个数字是有限的(并且足够小,这样您的正则表达式就不会过长):

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

当数字的长度变长时,请查看有关处理此问题的更多详细信息


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

使用java或javascript?尝试
String output=input.replaceAll(“.*”(\\d+x\\d+).*”,“$1”)。正则表达式在Java和JavaScript之间非常不同。为特定语言适当标记。@Mohammad编辑时要非常小心。我认为这可能是适当的,您在标题中引入了一个拼写错误。看起来您正在查找
\d+x\d+
。如何使用此正则表达式取决于语言,因此请在您的问题/标记中指定。即使数字长度不等于'NameName1234x12NameName'谢谢您的帮助,这也可以正常工作(在这里试过:)”。我可以问一下这个模式是如何工作的吗?你为什么在
/[\d]+x[\d]+/
中使用
[/code>有什么特殊原因吗?@Mohammad如果我想返回它匹配的实际字符串怎么办?@Maguzu
[\d]+
匹配数字和
[\d]+x[\d]+
匹配两个
x
之间存在的数字。Emily,你为什么使用
[\d]+x[\d]+
而不是
\d+x\d+
?还有,为什么要使用
[\d]{1}
?难道
\d
不够好吗?他尝试了你的,但确实匹配了不同长度的数字。