我正在尝试提取所有文本,直到出现第一个数字。假设我有这种 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 之外的任何字符*是它所遵循的字符/类的“零个或多个”这会从字符串的开头抓取任何不是数字的东西。
s.match(/^\D*/)