Python 字符串正则表达式

Python string regular expression

我需要进行字符串比较以查看 2 个字符串是否相等,例如:

>>> x = 'a1h3c'
>>> x == 'a__c'
>>> True

独立于字符串中间的3个字符。

if str1[0] == str2[0]:
    # do something.

您可以多次重复此语句。

这是切片。我们得到第一个值。要获取最后一个值,请使用 [-1].

我还要提一下,通过切片,字符串可以是任意大小,只要您知道字符串开头或结尾的相对位置即可。

您的问题可以通过字符串索引来解决,但如果您想要正则表达式的介绍,请看这里。

import re
your_match_object = re.match(pattern,string)

你的模式是

pattern = re.compile("a...c") # the dot denotes any char but a newline

从这里,您可以查看您的字符串是否符合此模式

print pattern.match("a1h3c") != None

https://docs.python.org/2/howto/regex.html

https://docs.python.org/2/library/re.html#search-vs-match

您需要使用锚点。

>>> import re
>>> x = 'a1h3c'
>>> pattern = re.compile(r'^a.*c$')
>>> pattern.match(x) != None
True

这将检查第一个和最后一个字符是 ac 。它不会关心中间的字符。

如果你想检查中间是否存在三个字符,那么你可以使用这个,

>>> pattern = re.compile(r'^a...c$')
>>> pattern.match(x) != None
True

请注意,行尾锚 $ 很重要,没有 $a...c 将匹配 afoocbarbuz