Получите числа от строки

Я всегда использовал термин "магическое число" по-другому как неясное значение, сохраненное в структуре данных, которая может быть проверена как быстрая проверка достоверности. Например, файлы gzip содержат 0x1f8b08 как свои первые три байта, файлы класса Java запускаются с 0xcafebabe, и т.д.

Вы часто видите магические числа, встроенные в форматы файлов, потому что файлы могут быть отправлены вокруг скорее случайно и потерять любые метаданные о том, как они были созданы. Однако магические числа также иногда используются для структур данных в оперативной памяти, как ioctl () вызовы.

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

5
задан Lasse V. Karlsen 30 July 2009 в 12:50
поделиться

3 ответа

Это работает?

"1 | 2 3 4 oh 5 oh oh | e eewrewr | 7 |" .split ('|') [1] .scan (/ \ d /)

8
ответ дан 18 December 2019 в 13:17
поделиться

, если вы хотите использовать только регулярное выражение ...

\|[\d\s\w]+\|

, а затем

\d

, но это, вероятно, не лучшее решение

0
ответ дан 18 December 2019 в 13:17
поделиться

Ответ Аруна идеален, если вам нужны только цифры. т.е.

"1|2 3 4 oh 5 oh oh|e eewrewr|7|".split('|')[1].scan(/\d/)
 # Will return ["2", "3", "4", "5"]
"1|2 3 4 oh 55 oh oh|e eewrewr|7|".split('|')[1].scan(/\d/)
 # Will return ["2", "3", "4", "5", "5"]

Если вам нужны числа,

# Just adding a '+' in the regex:
"1|2 3 4 oh 55 oh oh|e eewrewr|7|".split('|')[1].scan(/\d+/)
# Will return ["2", "3", "4", "55"]
6
ответ дан 18 December 2019 в 13:17
поделиться
Другие вопросы по тегам:

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