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の2番目の一致に名前が含まれている必要があります。

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