разбить строку - 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, время: 22:33. |