I would comment on @Babel, but I don't have enough power... (yet xD) With Babel's answer, you can select features where the attribute is exactly the same, although it isn't the case. You will still need to transform the strings in your fields.
I added the functions to Babel's code, which will enable you to tansforms the strings in the Nome field to be able to match:
array_contains(
aggregate(
'layer1', -- change this to the name of your layer1
'array_agg',
replace(Nome, array('PRAÇA '), array('')) -- change this to the name of the name field in layer1
),
upper(replace(Nome, array('Engenheiro', 'Governor'), array('ENG.', 'GOV.')))
-- change this to the name of the name field in layer2
)
The replace function can take arrays as parameters. The 1st value of the 1st array, will be replaced by the 1st value of the 2nd array, etc.
Example: replace('PRAÇA FLORIVAL BRITA', array('PRAÇA '), array('')) returns 'FLORIVAL BRITA'
The upper function transforms all lower case lettre to upper case letters : 'Word' => 'WORD'
The arrays I provided might not completely get you covered. Some special caracters could need replacement, or other abreviations need replacement...
I hope it helps!