Я повинен точно збігатись у рядку з регулярним виразом. я повинен усвідомити цю закономірність: toCheck повинен починатися з 2 виникнення $ str1, з максимумом 1 виникнення $ str2. Якщо toCheck відповідає шаблону, я повинен написати $ toCheck: успіх у виводі, $ toCheck: не вдалося інакше.
Я написав цей регулярний вираз:
regex="$1($1)+$2"
Використовуючи сайт regexr.com, я вставив, наприклад:
regex="lo(lo)ba"
toCheck="loloba"
Це успіх.
На regerx.com цей матч до останнього ба:
toCheck="lolobaba"
але, на мій баш-код, це успіх.
Це повний код:
toCheck="lolobaba"
regex="lo(lo)+ba"
if [[ $toCheck =~ $regex ]]; then
echo "$toCheck:success" > output
else
echo "$toCheck:failed" > output
fi
Отже, питання: як мати точну відповідність між рядком і регулярним виразом?