抱歉,我有一个愚蠢的问题,但是这里有一个例子:http://jsfiddle.net/rb98M/
请见谅。var q = 'SELECT CASE WHEN STATE IN ';
q = q.replace(/(^|\s)\w*(\s|$)/g, function(match) { return match.toLowerCase(); });
alert(q);
我有一个字符串,想要将每个单词转换为小写字母,这些单词之间由空格分隔(可以在行首和行尾)。
但是,我的结果是:
select CASE when STATE in
这就是我的问题所在。为什么会这样呢?编辑:我希望输入
SELECT * FROM [Users] u
,并得到select * from [Users] u
等结果(包括每个SQL语句,但排除[]
中的任何表名和属性)。
(^|\s)\w*(?=\s|$)
。最后一个空格不会被正则表达式消耗掉,因此它可能被作为另一个匹配的开头而被消耗掉,从而匹配所有带有空格的单词。 - Krzysztof Jabłoński