Skip to content Skip to sidebar Skip to footer

Regex Apostrophe How To Match?

I want to add to this rule match on Apostrophe ' rule = re.compile(r'^[^*$<,>?!]*$') I have tried: rule = re.compile(r'^[^*$<,>?!']*$') but it sees the apostrophe as

Solution 1:

You have to escape the apostrophe, otherwise it will be counted as the end of the raw string:

rule = re.compile(r'^[^*$<,>?!\']*$')

Or, you can use " to surround your string, which is perfectly valid in python:

rule = re.compile(r"^[^*$<,>?!']*$")

Solution 2:

The error comes because you cannot directly use a single ' inside '' and similarly single " can't be used inside "" because this confuses python and now it doesn't know where the string actually ends.

You can use either double quotes or escape the single quote with a '\':

rule = re.compile(r"^[^*$<,>?!']*$")

Demo:

>>>strs = 'can\'t'>>>print strs
can't
>>>strs = "can't">>>print strs
can't
>>>'can't'  #wrong, SyntaxError: invalid syntax>>>"can"t"  #wrong, SyntaxError: invalid syntax

Post a Comment for "Regex Apostrophe How To Match?"