Использовать отрицательный взгляд -вперед и.
:
perl -pe '/^((?:(?!BA).)*?B(?:A(?:(?!BA).)*?B){30})A/'
Не очень красиво, но работает.
Да. это возможно. Используйте ansible _play _name для выбора переменных. Например, создайте переменные по умолчанию для роли
shell> cat roles/test1/defaults/main.yml
my_vars:
pb1: 'var1'
pb2: 'var2'
default: 'default'
Назначить переменную, выбранную по названию воспроизведения
shell> cat roles/test1/tasks/main.yml
- set_fact:
myvar: "{{ my_vars[ansible_play_name]|default(my_vars.default) }}"
- debug:
var: myvar
Сборник пьес
- name: pb1
hosts: localhost
roles:
- test1
- name: pb2
hosts: localhost
roles:
- test1
- name: pb9
hosts: localhost
roles:
- test1
дать
PLAY [pb1] **************************************************************************************
TASK [test1 : set_fact] *************************************************************************
ok: [localhost]
TASK [test1 : debug] ****************************************************************************
ok: [localhost] => {
"myvar": "var1"
}
PLAY [pb2] **************************************************************************************
TASK [test1 : set_fact] *************************************************************************
ok: [localhost]
TASK [test1 : debug] ****************************************************************************
ok: [localhost] => {
"myvar": "var2"
}
PLAY [pb9] **************************************************************************************
TASK [test1 : set_fact] *************************************************************************
ok: [localhost]
TASK [test1 : debug] ****************************************************************************
ok: [localhost] => {
"myvar": "default"
}