
Artur
24.11.2016
17:21:56

Алексей
24.11.2016
17:21:56
я говорю чем стебаться лучше б указал где туплю)
я вот тут проверяю
http://uvsoftium.ru/php/regexp.php
и эффект тот же
строка в "cd " попадает под оба

Artur
24.11.2016
17:22:41
я понятия не имею что ты хочешь но у тебя там дитчкой попахивает

Google

Artur
24.11.2016
17:23:51
я надеюсь ты не из пользовательсокго ввожа это принимаешь

Алексей
24.11.2016
17:24:20
почитайте выше и поймете что я пишу

Artur
24.11.2016
17:25:03
там сплошная дичь

Алексей
24.11.2016
17:25:10
мне нужна регулярка которая будет отслеживать команду cd линукс терминала

Artur
24.11.2016
17:25:30

Алексей
24.11.2016
17:26:06
facepalm
я не говорю о безопасности. мне просо нужно строку отсеять

Dmitry
24.11.2016
17:26:39

Алексей
24.11.2016
17:28:29
я просто так скажу. кто-то тоже когда то начинал с html или паскаля но почему то эти "кто-то" деляться на две категории. на тех которые с радостью помогут начинающим и на тех которые с пафосным видом стебутся вместо того чтобы помочь...
Дмитрий вам спасибо ;)
наверное мне стоит понять какой я ущербный раз еще не научился писать регулярки, забится под стол и НИКОГДА больше не притрагиваться к php...

Google

Artur
24.11.2016
17:31:03
а ты в курсе про ; && ||
и задача не сформулирована для меня до сих пор

Алексей
24.11.2016
17:32:51
вот и я о том же. если бы вы глубокоуважаемыйспециалист прочитали полностью что я делаю а главное для чего вы бы поняли что я просто придумал себе задачу по мере исполнения которой я буду постигать все сложности и подводные камни. но вы соизволили просто решить за меня что мне это не нужно

Artur
24.11.2016
17:33:57
в пхп не принято трогать командную строку и на это есть причины
но если очень надо и магии линкса и ваш вариант подойдёт

Алексей
24.11.2016
17:34:21
я знаю и почему и знаю что за причины.

Artur
24.11.2016
17:34:24
даже \w не нужен
"cd" без параметров сама по себе команда рабочая

Алексей
24.11.2016
17:35:14
да но мне нужно отсеять вот такой ввод cdqwkejhqkehqwjk или вообще другой текст
или cd /home/dir/dir/dir
я видимо ооочень сложно объясняю что мне нужно

Artur
24.11.2016
17:36:09

Алексей
24.11.2016
17:37:28
а то что я написал тот пример который я сделал не намекает на то что это то я понял уже
/^cd$|^cd\s/
мне именно нужно понять как совместить пробел+слеш+любое количество символов
я думал вот так: \s\w или \s[a-zA-z_] но почему то вместе они не работают я про \s и \w

Artur
24.11.2016
17:39:41
:)

Алексей
24.11.2016
17:39:58
а общая задач моя (чтобы вы поняли нафига я забиваю ваш мозг этой мелочевкой) написать самому и с нуля подобие линуксового терминала и юзать его на своем тестовом сервере дабы понять сложности пхп и нюансы безопасности дабы потом в работе их учитывать

Google

Artur
24.11.2016
17:40:03
чёт сложная задача
пути со слэшами надо не так проверять.

Алексей
24.11.2016
17:40:53
ну да сложная. или лучше на жопе сидеть?
что поделать если я на практике лучше понимаю все

Artur
24.11.2016
17:41:53
это задача не для пхп

Алексей
24.11.2016
17:42:11
ну по идее мне нужно проверять либо "cd" либо "cd+пробел+любое количесто символов"

Artur
24.11.2016
17:42:39
примерный регекмсп для проверки путей
/^\s*cd\s*([^\/]*\/)*/u
можно ещё учесть макс длину имени файла, проверять запрещённые символы(кажется это слэш +/-нулевой символ)
но проблема в том что у линукса очень гибкие требования к именам файла

Алексей
24.11.2016
17:43:25
хм. я пробовал просто слеш экранировать не помогло...

Artur
24.11.2016
17:43:43
https://ru.wikipedia.org/wiki/Ext4
Максимальная длина имени файла
255 байт
[^\/]{0,255} и убрать можификатор u

Алексей
24.11.2016
17:44:39
там utf-8 не используется я так понимаю?

Artur
24.11.2016
17:44:51
https://ru.wikipedia.org/wiki/%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC
Ограничения[править | править вики-текст]
Максимальная длина имён файлов Допустимые символы в названиях[II 1] Максимальная длина пути файла Максимальный размер файла Максимальный размер тома[II 2]
ext4 255 байт Любые символы, кроме NUL, /[II 4]

Алексей
24.11.2016
17:46:06
т.е. мне нужно не только [a-zA-z_] отследивать но и собачки диезы и прочую ебалу?...

Google

Artur
24.11.2016
17:46:13
я тебюе ссылку скинул на таблицу
но в линуксе могут быть разные файловые системы
но это фиг с ним. не ту задачу ты выбрал. лучше игру напиши простую
сайтик с базой данных
а регекспы на парсере учи

Алексей
24.11.2016
17:48:04
на парсере имеется ввиду:
http://uvsoftium.ru/php/regexp.php
типа такого?
вообщем вот такая балалайка у меня получилась: /^cd(\s((\/)\w*)*)*/

Artur
24.11.2016
18:00:15
ты испортил регекса :) скажем, в имени файла может быть пробел
скобки лишние и ненужные
особенно с учётом )*

Алексей
24.11.2016
18:04:01
насчет скобок не понял. я их сделал ради вот чего: /home/dir1/dir2/dir3
иначе он только первый /home проверяет

Artur
24.11.2016
18:05:53
я их ради этого сделал
а ты бы просто почитал про регекспы
а лучше открыл бы видеокурс любой на ютубе если энергию девать некуда
сегодня их там до зопы. в т.ч. по регекспам

Алексей
24.11.2016
18:07:53
rf;tncz gjyzk j xtv ns

Google

Алексей
24.11.2016
18:07:58
кажется понял о чем ты
вот так переделал
/^cd($|\s+[a-zA-Z0-9_.\/]*)/
чтобы отсеять cdqweqkwehqw

Artur
24.11.2016
18:08:23

Алексей
24.11.2016
18:08:37
ну читал что аналогия [a-zA-Z]

Artur
24.11.2016
18:08:45
и дичь у тебя вышла
верни на мой пример
открой вики и почитай
страница про регекспы
на русском языке
с конкретными примерами

Алексей
24.11.2016
18:09:46
\w [[:word?] Буквенный или цифровой символ или знак подчёркивания

Artur
24.11.2016
18:10:05
ну вот и заменил ты w на все подварианты + ешё пару

dypa
24.11.2016
18:18:11
разбейте уже по пробелу и / через explode, сил нет видеть весь этот флуд

Salavat
24.11.2016
19:14:04
Вы что до сих пор пишите консоль на php?

Pavel
24.11.2016
19:30:44
Погоди еще пару лет, ишшо и не такое увидишь
Будет куча консольных утилит на пхп, демонов. Запомните этот твит.

Dmitry
24.11.2016
19:39:27
А ARM процессоры исполняющие PHP н-а-т-и-в-н-о