繁体   English   中英

Python字符串正则表达式

[英]Python string regular expression

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

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

与字符串中间的3个字符无关。

您需要使用锚点。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM