只是一个简单的问题。我学会了。是regex中的通配符,*表示0或更多。所以类似"你好"的意思是以你好开头的任何东西。然而,^hello一个人不会达到同样的效果吗?
使用取决于引擎是否期望匹配整个字符串以及您想对结果做什么(即布尔值是否足够匹配,或者您想要匹配的完整部分或组件?(
许多正则表达式将匹配相同的形式,但对于某些功能(如捕获组(,通常需要更复杂的正则表达式
>>> re.match(r"^a", "abc") # string matches, but only a is kept
<re.Match object; span=(0, 1), match='a'>
>>> re.match(r"^a.*", "abc") # full match
<re.Match object; span=(0, 3), match='abc'>
>>> re.match(r"^a(.*)", "abc").group(1) # capture group
'bc'
>>> re.match(r"^a.*d", "abc") # doesn't match trailing d
>>> re.match(r"^a.*d", "abcd") # now jumps center
<re.Match object; span=(0, 4), match='abcd'>
使用Python的re
库的示例