我正在尝试匹配包含勾号的行:✓
我正在使用Python3。
有关Unicode编码的详细信息,请参阅此处:https://codepoints.net/U+2713?lang=en
我要匹配的行看起来像这样:
✓ Chrome on MAC - MySite.com - version-1
re.match("✓", line)
不起作用。re.match("/u2713", line)
也不行。
我该如何确定 line
是否包含 ✓?
--- 更新 ---
解决了:显然,在 ✓ 前面有某种看不见的字符,这导致 match
运算符失败。感谢 @NickT 和 @EricDuminil 提供提示。此外,in
操作符似乎更容易和更安全,所以我将标记该答案为正确。
ur"\u2713"
或ur"\x{2713}"
或ur"\u{2713}"
或ur"✓"
。 - user557597target = ur"✓ Chrome on MAC - MySite.com - version-1"
。 - user557597re.match
仅匹配提供的字符串的开头,使用.search
在字符串中任何位置查找(如果不需要通配符,则最好使用in
)。 - Nick Tre.match
的名字并不暗示模式应该从哪里开始匹配。更加令人困惑的是:在Java中,它应该匹配整个字符串,在Python中,它应该从开头匹配,在Ruby中,它可以匹配任何位置。:-/ - Eric Duminil