문제

I can\'?t (.*)

My regex is of the above form. But my match object doesn't match if the string given to it ends after t

re.compile(r'I can\'?t (.*)').match(str)

If str = "I cant", it doesn't work. But if str = "I can't use", it works (match returns something).

도움이 되었습니까?

해결책

You left a mandatory space after the t. Remove it and you'll be fine:

I can\'?t(.*)

Also note that the brackets are only useful if you want to use the content of the first capturing group, if not you can safely remove them.

다른 팁

For that you can do:

re.compile(r'I can\'?t.*').match(str)

This will match either "I can't" with some other text following or just "I can't"

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top