使用JavaScript RegEx来拆分&清理HTML5 DB列名称 - 属性对

时间:2010-12-29 04:17:57

标签: javascript regex

我是RegEx的文盲。事实上,RegEx给了我荨麻疹。

我需要在第一个空格处拆分以下字符串并修剪输出的两侧。

"id  INTEGER PRIMARY KEY AUTOINCREMENT" <-- 2 spaces between "id" and "INTEGER"

应该成为

["id", "INTEGER PRIMARY KEY AUTOINCREMENT"]

任何RegEx专家可以提供帮助吗?

Kai的回复后更新 列名和属性之间可以有1到n个空格。

2 个答案:

答案 0 :(得分:1)

(\w+)\s+(.+)

测试http://rubular.com/

答案 1 :(得分:0)

一开始只有两个空格吗?在这种情况下,您可以使用两个空格进行拆分。

"id  INTEGER PRIMARY KEY AUTOINCREMENT".split("  ");

更新问题后的已修改回复:

var str = "id  INTEGER PRIMARY KEY AUTOINCREMENT",

    // Regex, very specific to your string, case-sensitive
    regex1 = /(id)\s+(INTEGER\sPRIMARY\sKEY\sAUTOINCREMENT)/,

    // Regex, not specific to your string, but follows pattern
    // and case-insensitive (/i). Same as zawhtut's response
    regex2 = /(\w+)\s+(.+)/i,

    results1 = str.match(regex1),

    results2 = str.match(regex2);


// Test (0th position is str, results start at 1)
alert(results1[1]); // id
alert(results1[2]); // INTEGER PRIMARY KEY AUTOINCREMENT

alert(results2[1]); // id
alert(results2[2]); // INTEGER PRIMARY KEY AUTOINCREMENT