好的,首先我与正则表达式的关系很紧张。我通常可以设法让它抓取或验证我需要的数据。但现在感觉就像我碰到了正则表达式的墙。
我已经连接了需要验证的用户数据字符串。
它们看起来像:john|45|some|data|00111{more|data
-part{more|data
应该能够发生 0 次或更多次,但如果我只使用(regex)*
. 然后,如果一个部分失败,字符串仍然是部分匹配的。在这种情况下,我希望它失败。
为了简化我的情况:我想要foo
, foobar
,foobarbar
来验证。但是foobarcar
验证foobat
失败。
foo(?:bar)*
将匹配所有(最后 2 个仅部分匹配)
...如果可能的话,我想保留“不捕获”部分(?:)。
据我所知,解决方案可能在 LookAround 中,代码中的 DontAllowPartialMatches 参数,或者拆分字符串并单独验证部分......
任何帮助是极大的赞赏。