我正在尝试提取所有文本,直到出现的第一个数字。
假设我有这种字符串"Paris 01 Louvre"
。我会
喜欢只有"Paris"
或我是"Neuilly sur Seine 03 bla blab"
我想提取"Neuilly sur Seine"
。
我在javascript中正在使用正则表达式,但我找不到合适的公式。
答案 0 :(得分:3)
"Neuilly sur Seine 03 bla blab".match(/^\D+(?=\s)/);
// => Neuilly sur Seine
此答案还可确保不捕获尾随空格。
答案 1 :(得分:1)
基本正则表达式:
var re = /^([^\d]+)\s/;
var str = "Neuilly sur Seine 03 bla blab";
console.log( str.match(re) );
答案 2 :(得分:1)
^(.+?)\d
在第一个数字(\d
)之前抓取所有内容。 Play with the regex here
答案 3 :(得分:0)
除了数字之外的任何东西:
^[^0-9]*
^
是行首[]
表示字符类^
表示“反转此类”0-9
是数字0到9,因此[^0-9]
表示除0到9之外的任何字符*
是其后面的字符/类的“零或更多”答案 4 :(得分:0)
这会从字符串的开头抓取任何不是数字的内容。
s.match(/^\D*/)