1

我正在尝试提取所有文本,直到出现第一个数字。假设我有这种 string "Paris 01 Louvre"。我只想拥有"Paris"或者如果我"Neuilly sur Seine 03 bla blab" 想提取"Neuilly sur Seine".

我在 javascript 中使用正则表达式苦苦挣扎,但找不到正确的公式。

4

5 回答 5

3
"Neuilly sur Seine 03 bla blab".match(/^\D+(?=\s)/);
// => Neuilly sur Seine

这个答案还确保不捕获尾随空格。

于 2012-06-08T13:49:01.953 回答
1

基本正则表达式:

var re = /^([^\d]+)\s/;    
var str = "Neuilly sur Seine 03 bla blab";
console.log( str.match(re) );
于 2012-06-08T13:48:03.830 回答
1

^(.+?)\d

这会抓取第一个数字 ( \d) 之前的所有内容。在这里玩正则表达式

于 2012-06-08T13:49:35.983 回答
0

除了数字之外的任何内容:

^[^0-9]*
  • ^是行首
  • []表示字符类
  • ^字符类内部的意思是“反转这个类”
  • 0-9是数字 0 到 9,所以[^0-9]表示除 0 到 9 之外的任何字符
  • *是它所遵循的字符/类的“零个或多个”
于 2012-06-08T13:47:03.123 回答
0

这会从字符串的开头抓取任何不是数字的东西。

s.match(/^\D*/)
于 2012-06-08T13:50:02.483 回答