Python 正则表达式在某些句子中的可变位置添加单词

Python 正则表达式在某些句子中的可变位置添加单词,python,regex,Python,Regex,我有一个令人尴尬的菜鸟问题,但我想我被卡住了,不能直接思考 我想要一个正则表达式模式,在单词“年”或“年”之后添加单词“old”,前提是单词“child”或“children”也出现在我在数据中检测到的句子模式中 因此: “尤其是一岁或十二岁以下的儿童,持续七年。” 将在第一个“年”之后添加“旧”,但不会在第二个“年”之后添加额外的“旧”,也不会在最后两个单词之后添加: “尤其是一岁或十二岁以上的儿童,七年。” 到目前为止,我的模式都是错误的,例如 if 'child' or 'children

我有一个令人尴尬的菜鸟问题,但我想我被卡住了,不能直接思考

我想要一个正则表达式模式,在单词“年”或“年”之后添加单词“old”,前提是单词“child”或“children”也出现在我在数据中检测到的句子模式中

因此:

“尤其是一岁或十二岁以下的儿童,持续七年。”

将在第一个“年”之后添加“旧”,但不会在第二个“年”之后添加额外的“旧”,也不会在最后两个单词之后添加:

“尤其是一岁或十二岁以上的儿童,七年。”

到目前为止,我的模式都是错误的,例如

if 'child' or 'children' in i.split() and 'old' or 'olds' not in  i.split(): 
    i=re.sub(r'year' ,'year old',i)

有什么想法吗?谢谢:

有关解释,请参阅对regex101的分析:

其中:

'Especially in children who are one year old or up to twelve years old, for seven years.'

和我想的一样+1我明白了。。和往常一样,比我想象的要简单得多。太好了,非常感谢,我会好好玩玩的。另一方面:-用起来更好?而不是{0,1},\bchild\b |\bchildren\b可以减少为\b?:child?:ren\b@CodeManiac谢谢
'Especially in children who are one year old or up to twelve years old, for seven years.'