Regex Python3正则表达式-从字符串间距未知的句子中提取未知子字符串
我试图在一个句子中的两个子串之间提取一个未知的子串,它有一个标准的设计 示例:Regex Python3正则表达式-从字符串间距未知的句子中提取未知子字符串,regex,string,substring,character,python-3.7,Regex,String,Substring,Character,Python 3.7,我试图在一个句子中的两个子串之间提取一个未知的子串,它有一个标准的设计 示例: object Ball is located in row 8 objectballisLocatedINROw8 objectChairislocated in row 4 object CupboardisLocated in row 22 在上述句子中,陈述遵循如下特定模式: objectitem name位于行整数中 此外,子字符串可以有奇怪的大小写,如完全大写、完全小写或以不可预测的方式混合使用大
object Ball is located in row 8
objectballisLocatedINROw8
objectChairislocated in row 4
object CupboardisLocated in row 22
在上述句子中,陈述遵循如下特定模式:
objectitem name位于行整数中
此外,子字符串可以有奇怪的大小写,如完全大写、完全小写或以不可预测的方式混合使用大写和小写(请参考上面的示例句子了解我的意思)
我的目标:
提取项目名称
,其中项目名称
可以是未知大小写中的任何未知字符串(上、下、两者混合)
我尝试了什么?
import re
task = "objectChairislocatedinrow8"
object = re.search(r'(\s)*object(\s)*[a-z]*(\s)*is(\s)*located(\s)*in(\s)*row(\s)*\d+(\s)*',
task, re.IGNORECASE)
print(object)
Regex:
“^*对象*([A-Za-z]+)*是。*'
它将单词与大写和小写单词匹配。它的工作原理是单词“IS”在中间,像这样或巴黎括号内[AZ-Z-Z] + +选择该组,以便以后可以使用。< /P>
import re
task = "objectChairislocatedinrow8"
object = re.search(r'^ *object *([A-Za-z]+) *is.*',
task, re.IGNORECASE)
print(object.group(1))
输出:
Chair
您的正则表达式很好,只需删除空格周围的捕获组,并在字符串的
项名称
部分添加一个: