Python 3中re.match函数的奇怪行为

时间:2016-06-02 16:47:20

标签: python regex python-3.x

在下面的代码中,我希望程序打印“匹配”,因为"\D+\d"匹配字符串的"x4"部分。但它没有打印任何东西。有什么问题?

import re
pattern = r"\D+\d"
if re.match(pattern, "1x4"):
    print("Match");

由于

1 个答案:

答案 0 :(得分:2)

您假设using System.IO; using System.Xml.Linq; private void SeparateNames(string txt) { StreamWriter sw = new StreamWriter("yourfile.txt"); foreach (var line in txt.Split('\r')) { XElement el = XElement.Parse(line); sw.WriteLine(el.Attribute("name").Value); } sw.Close(); } 可以匹配字符串中的任何位置是错误的。

https://docs.python.org/2/library/re.html#re.RegexObject.match

  

如果字符串开头的零个或多个字符与此正则表达式匹配,则返回相应的re.match实例。如果字符串与模式不匹配,则返回MatchObject;请注意,这与零长度匹配不同。

改为使用None