正则表达式:只有数字、字母或空格,但不仅仅是数字



我有这个文本

ford fiesta 2010,60500,2.54
ford fiesta review,5400,1.81
ford,5400,1.81

我想得到

ford fiesta 2010
ford fiesta review
ford

使用正则表达式

(?:[a-zA-Z0-9]+[ ])+[a-zA-Z0-9]+

但是它不能匹配ford,因为它没有任何空格。有什么建议吗?谢谢!:)

匹配可选的后面用空格分隔的单词的正确方法是

^[a-zA-Z0-9]+(?:[ ]+[a-zA-Z0-9]+)*

在Regexr上查看

^匹配字符串

的开头

[a-zA-Z0-9]+匹配第一个单词

(?:[ ]+[a-zA-Z0-9]+)*匹配由一个或多个逗号分隔的可选单词。

如果您正在使用PHP,您可以这样做:

$input = 'ford fiesta 2010,60500,2.54';
list($output) = explode(',', $input);

如果您不需要regex,请尝试String.Split (c#)

var result = inputString.Split(new[]{','})[0];

或者使用这个正则表达式:

^([^,]+)

使用multiline选项

^w+(?=,)

最新更新