我有这个字符串:
of cabbages and kings and more kings
我想根据这个标准进行匹配:
- Any instance of "king"
- Any instances of "cab" OR "goat"
- No instances of "bill"
此正则表达式适用于IsMatch():
^(?=.*?(king))(?=.*?(cab|goat))(?=.*?(bill))
但它只返回1组长度为0的组。有没有办法让它返回匹配的组,以便我们可以读取匹配的文本?
答案 0 :(得分:1)
由于您的模式仅使用外观,因此只会检查模式,但绝不会包含匹配的模式,除了 外观中的任何组 ..
如果要捕获完整的字符串,请使用具有给定模式的Match
方法
^(?=.*king)(?=.*(?:cab|goat))(?=.*bill).*$
如果匹配模式,此正则表达式将匹配组0 中的完整字符串。