我是RegEx的文盲。事实上,RegEx给了我荨麻疹。
我需要在第一个空格处拆分以下字符串并修剪输出的两侧。
"id INTEGER PRIMARY KEY AUTOINCREMENT" <-- 2 spaces between "id" and "INTEGER"
应该成为
["id", "INTEGER PRIMARY KEY AUTOINCREMENT"]
任何RegEx专家可以提供帮助吗?
Kai的回复后更新 列名和属性之间可以有1到n个空格。
答案 0 :(得分:1)
(\w+)\s+(.+)
答案 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