<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header" >
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="Default.aspx"> <span> <img alt="Logo" src="Images/shopify-bag.png"height="35" width="40"/></span> Shopping GO</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right"></ul>
// Не забыли добавить загрузчик в начало вашего кода.
Звездочка - это просто оператор повторения , но вам нужно указать, что вы повторяете. / * abc * /
соответствует строке, содержащей ab и ноль или более c (потому что вторая * находится на c; первая не имеет смысла, потому что ей нечего повторять). Если вы хотите сопоставить что-либо, вам нужно сказать . *
- точка означает любой символ ( в рамках определенных правил ). Если вы хотите просто сопоставить abc, вы можете просто сказать grep 'abc' myFile
. Для более сложного сопоставления вам необходимо использовать . *
- grep 'abc. * Def' myFile
будет соответствовать строке, содержащей abc, за которой следует def с чем-то, необязательно между ними.
Обновление на основе комментария:
*
в регулярном выражении не совсем то же самое, что * в консоли. В консоли * является частью конструкции glob и действует как подстановочный знак (например, ls * .log
перечислит все файлы, которые заканчиваются на .log). Однако в регулярных выражениях * является модификатором, что означает, что он применяется только к предшествующему ему символу или группе. Если вы хотите, чтобы * в регулярных выражениях действовал как подстановочный знак, вам нужно использовать . *
, как упоминалось ранее - точка - это подстановочный знак, а звездочка при изменении точки означает найти один или больше точки; т.е. найти один или несколько любых персонажей.
. *
, как упоминалось ранее - точка является подстановочным знаком, а звездочка при изменении точки означает найти один или больше точки; т.е. найти один или несколько любых персонажей. в регулярных выражениях * - это модификатор, означающий, что он применяется только к предшествующему ему символу или группе. Если вы хотите, чтобы * в регулярных выражениях действовал как подстановочный знак, вам нужно использовать . *
, как упоминалось ранее - точка является подстановочным знаком, а звездочка при изменении точки означает найти один или больше точки; т.е. найти один или несколько любых персонажей. Точка означает соответствие любому символу, поэтому . *
означает ноль или более вхождений любого символа. Вероятно, вы хотите использовать . *
, а не просто *
.
"Знак зодиака" имеет значение только в том случае, если перед ним что-то есть. Если инструмента нет (в данном случае grep), это может просто обработать его как ошибку. Например:
'*xyz' is meaningless
'a*xyz' means zero or more occurrences of 'a' followed by xyz
Попробуйте grep -E для поддержки расширенных регулярных выражений
Также посмотрите:
Используйте команду grep -P -, которая включает поддержку регулярных выражений в стиле Perl.
grep -P "abc.*def" myfile
'*' работает как модификатор для предыдущего элемента. Итак, 'abc * def' ищет 'ab', за которым следует 0 или более 'c, за которыми следует' def '.
Вы, вероятно, захотите' abc. * Def ', который ищет' abc ', за которым следует любое количество символов , за которым следует def.
Выражение, которое вы пробовали, подобно тем, которые работают, например, в командной строке оболочки в Linux, называется « glob ». Выражения Glob - это неполные регулярные выражения , которые grep использует для определения строк, которые нужно искать. Здесь есть (старый, маленький) пост о различиях. Выражения glob (например, "ls *") интерпретируются самой оболочкой.
Можно преобразовать глобусы в RE, но обычно вам нужно делать это в уме.