jjnguy имел правильное (если немного избыточно) в предыдущей версии .
.*?[^0-9].*
@Chad , ваше регулярное выражение,
\b.*[a-zA-Z]+.*\b
должно, вероятно, допускать не буквы (например, пунктуацию), хотя примеры Svish не включали их. Основным требованием Svish было: не все будут цифрами.
\b.*[^0-9]+.*\b
Затем вам не нужен символ +, поскольку все, что вам нужно, - это гарантировать, что 1 не цифра находится там (больше может быть в там как покрыто. * на концах.)
\b.*[^0-9].*\b
Затем вы можете покончить с \ b на обоих концах, поскольку это ненужные ограничения (ссылаясь на буквенный символ и _).
.*[^0-9].*
Наконец, обратите внимание, что это последнее регулярное выражение показывает, что проблема может быть решена только с помощью основ, основанных на десятилетия (например, нет необходимости в функции поиска). На английском языке вопрос логически эквивалентен простому запросу, чтобы в строке содержался 1 символ встречного примера.
Мы можем проверить это регулярное выражение в браузере, скопировав следующее в строку местоположения, заменив строку «6576576i7567» с тем, что вы хотите проверить.
javascript:alert(new String("6576576i7567").match(".*[^0-9].*"));
Вы можете использовать метод Lodash differenceBy
и пропустить id
prop, если хотите найти разницу на основе id
. В противном случае вы можете использовать _.differenceWith(prev, next, _.isEqual)
const prev = [{"id":1},{"id":2},{"id":3},{"id":4}]
const next = [{"id":1},{"id":2},{"id":4}]
const diff = _.differenceBy(prev, next, 'id')
console.log(diff)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.js"></script>
На случай, если вы захотите проверить разные ключи или имена идентификаторов. Вы можете использовать differenceWith
и передать пользовательскую функцию проверки равенства.
const prev = [{"id":1},{"id":2},{"id":3},{"id":4}]
const next = [{"contact_id":1},{"contact_id":2},{"contact_id":4}]
const checkId = (prev, next) => {
return prev.id == next.contact_id
}
const diff = _.differenceWith(prev, next, checkId)
console.log(diff)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.js"></script>