Regex соответствуют строке пробелам (используйте кавычки?) в, если оператор

Учитывая вектор v, нормализовать его означает сохранить его направление и сделать его единичной длиной, умножив его на хорошо выбранный коэффициент.

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

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

13
задан Mint 21 October 2009 в 06:53
поделиться

4 ответа

Вы можете использовать \ перед пробелами.

#!/bin/bash

text="This is just a test string"
if [[ "$text" =~ ^This\ is\ just ]]; then
  echo "matched"
else
  echo "not matched"
fi
20
ответ дан 1 December 2019 в 23:47
поделиться

can you make your problem description clearer?

text="This is just a test string"
case "$text" in
    "This is"*) echo "match";;
esac

the above assume you want to match "This is" at exactly start of line.

-1
ответ дан 1 December 2019 в 23:47
поделиться

I did not manage to inline the expression like this:

if [[ "$text" =~ "^ *This " ]]; then

but if you put the expression in a variable you could use normal regex syntax like this:

pat="^ *This "
if [[ $text =~ $pat ]]; then

Note that the quoting on $text and $pat is unnessesary.

Edit: A convinient oneliner during the development:

pat="^ *This is "; [[ "   This is just a test string" =~ $pat ]]; echo $?
0
ответ дан 1 December 2019 в 23:47
поделиться

Вы пробовали:

^[\s]*This
-2
ответ дан 1 December 2019 в 23:47
поделиться
Другие вопросы по тегам:

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