Как использовать preg_replace, чтобы удалить весь URL до определенной точки? [Дубликат]

найдите маршрут установки вашей папки (у меня она есть в C: \ python34), а затем выполните на регулярной CMD-оболочке

   set path=%path%;c:\python34

сейчас, когда вы инициализируете оболочку, переходите к C: \ python34 \ myscripts и используйте классическую команду

 python filename.py 
1
задан Pauly Pops 1 December 2010 в 10:08
поделиться

3 ответа

preg_replace() требует символа разделителя:

preg_replace("/$pat/" ...

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

Эта гибкость позволяет вам выразить "/http:\/\/foo\/bar\//" («синдром наклона зубочистки») как "!http://foo/bar/!".

Символ разделителя необходим для отделения регулярного выражения от флагов регулярных выражений (aka «модификаторы»), например:

preg_replace("/$pat/i" ...

... для этого используется флаг i для объявления не зависящего от регистров регулярного выражения.

11
ответ дан Tomalak 22 August 2018 в 00:37
поделиться
  • 1
    Большое вам спасибо, это отсортировало его, и теперь все имеет смысл. Он также терпел неудачу, потому что трубы были # x7c; & amp; # x7c; ... так что хорошо видеть-источник тоже =) – Pauly Pops 1 December 2010 в 13:43

try

$pat  = "/\[\[(.*)\|\|(.*)\]\]/m";
0
ответ дан Andreas Wong 22 August 2018 в 00:37
поделиться

Из руководства по PHP в отношении разделителей PCRE :

Разделителем может быть любой небуквенный символ, не обратный слэш, символ без пробелов.

Часто используемые разделители - это косые черты (/), знаки хэша (#) и тильды (~).

Таким образом, вы можете использовать / как разделитель чтобы отделить шаблон от необязательных модификаторов :

/\[\[(.*)\|\|(.*)\]\]/

Но также обратите внимание:

В дополнение к вышеупомянутым разделителям также возможно использовать разделители в стиле скобок, где открывающие и закрывающие скобки являются начальным и конечным разделителями соответственно.

Кроме того, в настоящее время ваш шаблон будет как можно больше соответствовать как кванторы жадные; вы можете захотеть изменить их, чтобы не согласиться с ними как можно меньше:

/\[\[(.*?)\|\|(.*?)\]\]/
5
ответ дан Gumbo 22 August 2018 в 00:37
поделиться
Другие вопросы по тегам:

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