Czy można skonstruować wyrażenie regularne w stylu PCRE, które będzie pasować tylko do każdej litery na liście tylko raz?Regex, aby użyć każdej litery tylko raz?
Na przykład, jeśli masz litery „lrsa” i próby dopasowania listę słowo przeciw:
^[lrsa]*m[lrsa]*$
zamierzasz dopasować „Lams” (ważne), ale również „lamów” (nieważne dla naszych celów, ponieważ miałeś tylko jedno "a"). Jeśli twoim zestawem liter był "lrsaa", chciałbyś dopasować "lamów".
Czy jest to możliwe w przypadku wyrażeń regularnych, czy też powinienem go programować programowo?
to nie będzie działać jako '[lrsaa]' jest równe '[lrsa]'. – Gumbo
Dobrze, i to jest mój problem. Możesz ograniczyć za pomocą [lrsa] {4}, ale na przykład nadal będzie pasować do "lass". – gtcaz
Co możesz zrobić, to dopasować zarówno te, które chcesz i niektóre dodatki nie. Przy iteracji twoich meczów odfiltrowanie niechcianych statystów byłoby trywialne. – erisco