最初に表示される図まですべてのテキストを抽出しようとしています。この種の string があるとしましょう"Paris 01 Louvre"
。のみを取得したい"Paris"
場合は"Neuilly sur Seine 03 bla blab"
、 を抽出したいと思い"Neuilly sur Seine"
ます。
JavaScript の正規表現に苦労していますが、正しい式が見つかりません。
最初に表示される図まですべてのテキストを抽出しようとしています。この種の string があるとしましょう"Paris 01 Louvre"
。のみを取得したい"Paris"
場合は"Neuilly sur Seine 03 bla blab"
、 を抽出したいと思い"Neuilly sur Seine"
ます。
JavaScript の正規表現に苦労していますが、正しい式が見つかりません。
"Neuilly sur Seine 03 bla blab".match(/^\D+(?=\s)/);
// => Neuilly sur Seine
この回答により、末尾の空白がキャプチャされないことも保証されます。
基本的な正規表現:
var re = /^([^\d]+)\s/;
var str = "Neuilly sur Seine 03 bla blab";
console.log( str.match(re) );
^(.+?)\d
これは、最初の桁 ( \d
) より前のすべてを取得します。ここで正規表現を試してください。
数字以外:
^[^0-9]*
^
行頭です[]
文字クラスを示します^
文字クラス内では、「このクラスを反転する」ことを意味します0-9
は 0 ~ 9 の数字なので、[^0-9]
0 ~ 9 以外の任意の文字を意味します*
従う文字/クラスの「0個以上」これは、文字列の先頭から数字ではないものをすべて取得します。
s.match(/^\D*/)