a workaround / solution to
panic: regexp: Compile(`(i(?P<identification>(?![1-9]+))?(?P<name>1)?(?P<family>2)?(?P<nickname>3)?(?P<age>4)?(?P<gender>5)?(?P<birthdate>6)?(?P<picture>8)?(?P<national>9)?)?(p(?P<position>(?![1-9]+))?(?P<country>1)?(?P<state>2)?(?P<city>3)?(?P<streetname>4)?(?P<streetnumber>5)?(?P<residence>6)?(?P<coordinate>9)?)?(c(?P<contact>(?![1-9]+))?(?P<email>1)?(?P<instant>2)?(?P<social>3)?(?P<mobilephone>4)?(?P<homephone>5)?(?P<workphone>6)?(?P<postlabel>9)?)?`): error parsing regexp: invalid or unsupported Perl syntax: `(?!`
I know its because Go doesn't support regex lookarounds - but no clue how to fix it yet.
From chatgpt "The problem seems to be that negative lookahead assertions are not supported by Go's regular expression engine, which uses a variant of the POSIX extended regular expression syntax. To achieve similar functionality, you can use a combination of grouping and negation to exclude certain patterns. For example, instead of (?!1-9+) to exclude digits 1 to 9, you can use [^1-9]* to match zero or more characters that are not digits 1 to 9. Here's a modified regular expression that should work in Go: (i(?P<identification>([^1-9]*))?(?P<name>1)?(?P<family>2)?(?P<nickname>3)?(?P<age>4)?(?P<gender>5)?(?P<birthdate>6)?(?P<picture>8)?(?P<national>9)?)?(p(?P<position>([^1-9]*))?(?P<country>1)?(?P<state>2)?(?P<city>3)?(?P<streetname>4)?(?P<streetnumber>5)?(?P<residence>6)?(?P<coordinate>9)?)?(c(?P<contact>([^1-9]*))?(?P<email>1)?(?P<instant>2)?(?P<social>3)?(?P<mobilephone>4)?(?P<homephone>5)?(?P<workphone>6)?(?P<postlabel>9)?)?
Just making some burgers but will try this out in the next 30 minutes. 🤞
This kind of works, I think - seems to do the same as just removing the ? in the (?!1-9+) Will send you a DM for a BCH address for at least playing along ;) Will have to tinker around more tonight
Обсуждают сегодня