Perl regex выражение

Можно выполнить BESX для Exchange или IBM Lotus Domino, но оба требуют домена Windows AD.

http://us.blackberry.com/apps-software/business/server/express/

2
задан 6 March 2013 в 20:12
3 ответа

Я бы, вероятно, использовал:

pattern=sent \/home\/mydomain\/public_html\/(.*)\/(\S+).*

Это должно извлечь все символы, кроме пробелов, для последнего совпадения с захватом, а остальные оставить для совпадения без захвата.

2
ответ дан 3 December 2019 в 11:49

Я бы использовал следующее:

pattern=sent \/home\/mydomain\/public_html\/(.*?)\/\(.* ?)\S*.*$

Для более явного нежадного сопоставления. Теперь ваш результат будет в 2 доллара. Это предполагает, что вы не можете жестко кодировать что-либо ниже public_html. Это оставляет конечный пробел.

0
ответ дан 3 December 2019 в 11:49

Другие ответы предполагают отсутствие пробелов в имени файла, что является довольно рискованным предположением. Более безопасный вариант - не использовать косые черты в имени файла, поскольку это запрещено в Linux:

pattern=sent \/home\/mydomain\/public_html\/([^\/]+)\/([^\/]+) [0-9]+ \S+@\S+ [0-9]+$

Проверено на https://regex101.com/

0
ответ дан 3 December 2019 в 11:49

Теги

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