我需要在一个目标字符串中找到前缀列表(我希望将目标字符串中匹配索引的列表作为数组处理)。在
目前,在不同的场景下运行它之后,我的Python代码仍然不能工作。在
以下源代码无法工作,因为我错误地设置了txt_pattern
。在
import re
# ' ' ' ' ' ' '
txt_str = "edb foooooo jkds Fooooooo kj fooing jdcnj Fooing ujndn ggng sxk foo baring sh foo Bar djw Foo";
txt_pattern = ''#???
out_obj = re.match(txt_pattern,txt_str)
if out_obj:
print "match!"
else:
print "No match!"
我错过了什么?
我应该如何设置txt_pattern
?
你能给我推荐一个好的教程,最少的工作示例?目前,来自Google搜索的第一页的标准教程非常长且详细,而且不太容易理解。
谢谢!在
^{pr2}$(?i)
->;不区分大小写(foo)
->;group1匹配foo(\w+)
->;group2每隔一个单词字符匹配一次不,
^
是一个只匹配字符串开头的锚点。您可以改为使用\b
,这意味着一个词的边界(但是记住要在字符串文本中转义反斜杠,或者使用原始字符串文本)。在您还必须使用
re.search
而不是re.match
,因为后者只检查字符串的开头,而前者搜索字符串中任何位置的匹配项。在正则表达式是错误的方法。首先,将字符串解析为一个字符串列表,每个项目包含一个单词。然后使用带过滤器的列表理解。字符串上的
split
方法是获取单词列表的好方法,然后您可以简单地执行[item for item in wordlist if item.startswith("foo")]
当人们只需要一些字符串方法,如
split
、partition
、startswith
和一些python列表理解或生成器时,人们花了很长时间使用复杂的regex来破解效率低下的代码。在正则表达式有它们的用途,但简单的字符串解析不是其中之一。在
相关问题 更多 >
编程相关推荐