我正在尝试提取句子中两个子字符串之间的未知子字符串,这是一种标准设计。
示例:
object Ball is located in row 8
objectballisLocatedINROw8
objectChairislocated in row 4
object CupboardisLocated in row 22
在以上句子中,语句遵循如下特定模式:
object<optional spacing>item-name<optional spacing>is<optional spacing>located<optional spacing>in<optional spacing>row<optional spacing>some integer
此外,子字符串还可能具有不可预测的情况,例如完全大写,完全小写或大小写混合(请参考上面的示例语句以了解我的意思)。
我的目标:
提取item-name
,其中item-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)
答案 0 :(得分:1)
正则表达式:to_csv()
它同时匹配大小写单词。单词中间有'is'也很有效,例如 this 或 paris [A-Za-z] +上的括号选择该组,以后可以使用。
'^ *object *([A-Za-z]+) *is.*'
输出:
import re
task = "objectChairislocatedinrow8"
object = re.search(r'^ *object *([A-Za-z]+) *is.*',
task, re.IGNORECASE)
print(object.group(1))