/ / Negative lookaround - regex - regex

Negatívny lookaround - regex - regex

Snažím sa učiť regulárne výrazy sám osebe, a preto táto hlúpa činnosť.

Snažím sa získať akékoľvek slovo s "futbal", ale vylúčiť "futbalové lopty" ​​z toho - takže môžem získať niečo iné - futbalista, futbalisti, futbal. Len nie "futbalové gule".

Našiel som to bfootball(?!s)b zbaví sa oboch futbalistov a futbalových loptičiek. Ako môžem vylúčiť len "futbalové gule"?

odpovede:

2 pre odpoveď č. 1

Musíte presunúť hranicu slov vnútri tvrdenia:

/bfootball(?!sb)/

To je správnejšie, než odstrániť hranicu slov. Keď odstránite hranicu, chýbajú ste slová s a niečo po ňom: footballsa napríklad.


1 pre odpoveď č. 2

bfootball(?!s)b vylučuje "futbalistov", pretože stehľadanie hranice slov, potom "futbal", potom nie S, potom ďalšia hranica slova (čo vám nedovolí nájsť nič po "futbal"). Zbavte sa hranice konca slova (inými slovami, použite bfootball(?!sb) miesto).