разбить строку - RegExp
Есть строка :
't.id = 10 OR t.name = "user" AND user.account = 0' надо разбить на части типа t.id = 10 OR t.name = "user" AND user.account = 0 Пробовал чтото вроде : var reg = /[^(OR)(AND)]+(OR|AND)/ig; var string = 't.id = 10 OR t.name = "user" AND user.account = 0'; console.log(string.match(reg)); Я понимаю, что вот эта конструкция [^(OR)(AND)]+ не отрабатывает так как я хочу, но не пойму как сделать это по другому. |
var reg = /\b(?=(?:OR|AND)\b)/ig;
var string = 't.id = 10 OR t.name = "user" AND user.account = 0';
alert(string.split(reg).join('\n'));
Ток нафига оно тебе нужно ) |
А, тебе блин чтобы союзы в конце строк были нужно. Ну например так:
var reg = /.*?(?:\s+(?:OR|AND)\s+|$)/ig;
var string = 't.id = 10 OR t.name = "user" AND user.account = 0';
alert(string.match(reg).join('\n'));
|
Если упростить, то будет так: /.*?(OR|AND|$)/g
Но союзы должны быть окружены пробелами, так что приходится усложнять. |
Разбираюсь с RegExp.
Огромное спасибо!
|
Вариант без мудрствований:)
alert('t.id = 10 OR t.name = "user" AND user.account = 0'.split(/ OR | AND /))
|
| Часовой пояс GMT +3, время: 03:52. |