Python字符串正则表达式

时间:2015-04-15 02:28:56

标签: python python-2.7 python-3.x python-2.x

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

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

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

3 个答案:

答案 0 :(得分:2)

你需要使用锚点。

>>> 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

答案 1 :(得分:1)

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

您可以根据需要多次重复此声明。

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

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

答案 2 :(得分: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