Я пытаюсь найти, что регулярное выражение находит просто алфавитно-цифровые слова от строки т.е. слова, которые являются комбинацией алфавитов или чисел. Если слово является чистыми числами или чистыми символами, я должен отбросить его.
Я хотел бы изменить этот вопрос или что-то еще, потому что я также использую шведскую клавиатуру, где я должен нажать alt + 7 или alt + shift + 7, чтобы сделать | и\соответственно.
Я также использую Irssi в Terminal.app, и они плохо смешиваются.
Я долгое время vim пользователь, хотя так emacs не проблема для меня.
Есть ли какой-то способ перекомпоновать CMD как Meta в Terminal.app?
До сих пор я выживал, просто набирая/wg N в Ирсси, потому что наличие этих символов в моем Терминале гораздо важнее, чем IRC.
Хотя решение будет стоить мне золота!:)
-121--1253085-Apple имеет отличное объяснение того, как это сделать в руководстве по программированию в табличном представлении
-121--4746536-Попробуйте это регулярное выражение:
\b([a-z]+[0-9]+[a-z0-9]*|[0-9]+[a-z]+[a-z0-9]*)\b
Или более компактное:
\b([a-z]+[0-9]+|[0-9]+[a-z]+)[a-z0-9]*\b
Это соответствует всем словам (обратите внимание на границы слов \b
), которые начинаются с одной или нескольких букв следующем порядке: Так всегда выполняется условие хотя бы одной буквы и хотя бы одной цифры.
с lookaeads:
'/\b(?![0-9]+\b)(?![a-z]+\b)[0-9a-z]+\b/i'
Быстрый тест, который также показывает пример использования:
$str = 'foo bar F0O 8ar';
$arr = array();
preg_match_all('/\b(?![0-9]+\b)(?![a-z]+\b)[0-9a-z]+\b/i', $str, $arr);
print_r($arr);
Выход:
F0O
8ar
Это вернет все отдельные буквенно-цифровые слова, которые вы можете пережить. Я не думаю, что Regex может сделать всю работу сама по себе.
\b[a-z0-9]+\b
Убедитесь, что вы отметили, что в качестве нечувствительности к регистру.