在python中测试字符串是否包含已知字符串和未知数字的组合
如果我有一个字符串,例如在python中测试字符串是否包含已知字符串和未知数字的组合,python,python-3.x,find,Python,Python 3.x,Find,如果我有一个字符串,例如line=“hello world 2”,数字2可以是任何数字,那么行可以是“hello world 4”,有没有一种方法可以测试在操作数中使用它,我正在考虑类似的事情 if "world %n" in line 但这不是正确的语法 import re if re.search("world \d", line): ... 这使用了一个快速、简单的方法来检查行中是否包含单词“world”,后跟一个空格,后跟任意数字 这使用了一个快速、简单的方法来检查行中是否
line=“hello world 2”
,数字2
可以是任何数字,那么行可以是“hello world 4”
,有没有一种方法可以测试在操作数中使用它,我正在考虑类似的事情
if "world %n" in line
但这不是正确的语法
import re
if re.search("world \d", line):
...
这使用了一个快速、简单的方法来检查行中是否包含单词“world”,后跟一个空格,后跟任意数字
这使用了一个快速、简单的方法来检查行中是否包含单词“world”,后跟一个空格,后跟任意数字 你能用正则表达式吗?你能用正则表达式吗?准确地说,它匹配任何一个数字。若要匹配1对多个数字(如果需要),OP应使用
“world\d+”
。该方法可行,但应重新搜索,而不是重新匹配,因为world位于string@James,我认为re.match(“.*world\d.*”行):
更好。(忽略world\d
pattern.user5324426之前和之后的字符。你是对的,re.search更适合这里-而且我认为它比。*解决方案@Chan Kim gave更干净。准确地说,它匹配任何一位数字。要匹配一对多位数字(如果需要),OP应该使用“world\d+”
。这是可行的,但应该重新搜索,而不是重新匹配,因为世界已经到了尽头string@James,我认为re.match(“.*world\d.*”行):
更好。(忽略world\d
pattern.user5324426之前和之后的字符。没错,re.search更适合这里-我认为它比Chan Kim给出的。*解决方案更干净