1

例如,我想在 Javascript 中使用 RegEx 提取字符串

StudentName nameX = John; 

或者

StudentName nameX;

我只想提取“nameX”,这是我迄今为止尝试过的。

var name = allName.match("StudentName(.*);|StudentName(.*)=");

我得到的是: "nameX = John" ,但我没有只得到 "nameX" 。

4

3 回答 3

2

试试这个非贪婪模式

var name = allName.match("StudentName\\s*(.*?)\\s*[=;]");

JSFiddle 演示

于 2012-11-23T17:53:53.870 回答
2

在里面使用正则表达式模式match

match(/StudentName\s+(\w+)/)[1]

这个演示。​​</p>

于 2012-11-23T18:20:37.943 回答
1

如果您拆分空格,则索引 1 处的第二个匹配项应包含名称。

var name = allName.split(/[ ;]/g)[1];
于 2012-11-23T17:57:19.467 回答