В * nix, в отличие от Windows, текущий каталог обычно не входит в вашу переменную $PATH
. Таким образом, текущий каталог не выполняется при выполнении команд. Вам не нужно ./
для запуска приложений, потому что эти приложения являются в вашем $ PATH; скорее всего, они находятся в /bin
или /usr/bin
.
Вы не даете достаточно подробностей. Поскольку ваше первое выражение работает, я предполагаю, что вы используете режим Singleline
.
Следующее мое предположение состоит в том, что эта строка является частью большей строки.
^
соответствует начало строки по умолчанию
$
по умолчанию соответствует концу строки.
Теперь, поскольку ваша строка содержит материал до и после, вам нужно изменить это поведение по умолчанию:
С модификатором Multiline
, ^
соответствует началу строки, а $
- концу строки. Дополнительную информацию см. В документации .
Итак, ваше регулярное выражение должно выглядеть примерно так:
Regex regx = new Regex("(?<=^(\s*Owner))(.|\n)*?(?=\s*Information$)", RegexOptions.Singleline | RegexOptions.Multiline);