Для меня тоже он работал со следующими аннотациями:
@Modifying
@Query("update User u set u.active=1 where a.id=?1")
@Transactional
void activeUser(Long id);
Используйте разделители начала и конца: ^abc$
"^" Для начала строки "$" для конца. Eg.:
var re = /^abc$/;
Соответствует «abc», но не «1abc» или «abc1». Вы можете узнать больше на странице https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
Это зависит. Вы могли бы
string.match(/^abc$/)
Но это не соответствовало бы следующей строке: «первые 3 буквы алфавита - abc. а не abc123 '
Я думаю, вы хотите использовать \ b (границы слов)
var str = 'the first 3 letters of the alphabet are abc. not abc123';
var pat = /\b(abc)\b/g;
console.log(str.match(pat));
Пример в реальном времени: http://jsfiddle.net/uu5VJ/
Если первое решение работает для вас, я бы посоветовал не использовать его.
Это означает, что у вас может быть что-то вроде следующего:
var strs = ['abc', 'abc1', 'abc2']
for (var i = 0; i < strs.length; i++) {
if (strs[i] == 'abc') {
//do something
}
else {
//do something else
}
}
Пока вы можете использовать
if (str[i].match(/^abc$/g)) {
//do something
}
Это было бы значительно более ресурсоемким. Для меня общее правило состоит в том, что для простого сравнения строк используется условное выражение, поскольку более динамический шаблон использует регулярное выражение.
больше для JavaScript regex's: https: // developer. mozilla.org/en/JavaScript/Guide/Regular_Expressions
^abc def ghi$
– Jake Pearson 9 June 2011 в 21:45