Подтвердить поиск строк без кавычек php 7.2 в массивах

Как с помощью ack найти в массивах строки без кавычек ?.

Я перехожу на php 7.2, и это регулярное выражение, которое я использую:

ack -w --heading --php "\[[a-zA-Z0-9_]*]"

Я что-то упускаю, на первый взгляд все в порядке. Однако я не знаю, давал ли я ложные срабатывания или ложные отрицания, пропустив какой-то случай.

Спасибо

вы также находите [], который вам не нужен. Заменить * на +

Walter Tross 15.05.2018 23:03

Действительно, полезно показать некоторые примеры входных данных и ожидаемых результатов.

revo 15.05.2018 23:05

После просмотра документации ack кажется, что переключатель -w означает "-w, --word-regexp -> Заставить ШАБЛОН соответствовать только целым словам", поскольку ваш шаблон содержит буквальные квадратные скобки, я не уверен, что он может вернуть какой-либо результат (в зависимости от того, что означает целые слова). Как было сказано ранее, в вашем посте не хватает образца.

Casimir et Hippolyte 15.05.2018 23:24

Другое дело, поскольку вы ищете некотируемые индексы ассоциативных массивов php (которые могут быть константами или числовыми индексами в стороне), это означает, что код, который вы пытаетесь обновить, очень старый, и в этом случае вам, вероятно, придется пройти трудный путь (перечитайте и перепишите код глазами и пальцами). Жаль тебя.

Casimir et Hippolyte 15.05.2018 23:41
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
87
1

Ответы 1

TL; DR: используйте ack --heading --php "\[[a-zA-Z0-9_]*]" без -w.


Как упоминал @CasimiretHippolyte в комментариях, -w требует, чтобы шаблон «соответствовал только целым словам». Опция -w просто обертывает ваш шаблон поиска в \b, который требует пробелов в начале и конце совпадения.

Удалите опцию -w, и вы должны увидеть недостающие результаты.

Другие вопросы по теме