在下面的代码中,我希望程序打印“匹配”,因为"\D+\d"
匹配字符串的"x4"
部分。但它没有打印任何东西。有什么问题?
import re
pattern = r"\D+\d"
if re.match(pattern, "1x4"):
print("Match");
由于
答案 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
。