Выбор просто алфавитно-цифровых слов с regex

Я пытаюсь найти, что регулярное выражение находит просто алфавитно-цифровые слова от строки т.е. слова, которые являются комбинацией алфавитов или чисел. Если слово является чистыми числами или чистыми символами, я должен отбросить его.

5
задан Wiktor Stribiżew 4 October 2019 в 08:09
поделиться

4 ответа

Я хотел бы изменить этот вопрос или что-то еще, потому что я также использую шведскую клавиатуру, где я должен нажать 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 ), которые начинаются с одной или нескольких букв следующем порядке: Так всегда выполняется условие хотя бы одной буквы и хотя бы одной цифры.

6
ответ дан 14 December 2019 в 01:09
поделиться

с 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
3
ответ дан 14 December 2019 в 01:09
поделиться

Это вернет все отдельные буквенно-цифровые слова, которые вы можете пережить. Я не думаю, что Regex может сделать всю работу сама по себе.

\b[a-z0-9]+\b

Убедитесь, что вы отметили, что в качестве нечувствительности к регистру.

0
ответ дан 14 December 2019 в 01:09
поделиться
\b(?:[a-z]+[0-9]+|[0-9]+[a-z]+)[[:alnum:]]*\b
0
ответ дан 14 December 2019 в 01:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: