正则表达式匹配,直到给定文本?

时间:2013-01-11 17:42:24

标签: python regex

我正在编写一个与fooSVM??!匹配的正则表达式。我想在此字符串中匹配SVM,这意味着我需要从foo匹配,直到遇到?!。请注意,SVM可以是其他Unicode字符。

我尝试了foo(.*)[?!]*,但似乎没有用。

1 个答案:

答案 0 :(得分:3)

如果没有换行符,就可以这样做:

foo([^?!]+)[?!]

并检索第一组。

foo        # Find "f", then "o", then "o",
(          # begin capture
    [^?!]  # followed by any character which is not "!" or "?",
    +      # once or more
)          # end capture
[?!]       # followed by either a "!" or a "?"