Translating from a natural language representation of a contract into something computable is a VERY difficult problem.
Consider just the issue you posed. Look at some representative time to completion clauses. https://wolfr.am/Qei6youU. Here's one: "Time for Completion means the time for completing the execution of and passing the Tests on Completion of the Works or any Section or part thereof as stated in the Contract (or as extended under Clause 44) calculated from the Commencement Date." Here's another: "Time for Completion means the time for completing the Works or a Section (as the case may be) under Sub-Clause 8.2 (Time for Completion]) as stated in the Contract Data (with any extension under Sub-Clause 8.4 (Extension of Time for Completion)), calculated from the Commencement Date." Parsing this out requires an understanding of the entire contract. It's not something that can be done with Regular Expressions looking just at the particular sentence. Trust me, there is an industry working on this problem. If you want to see some decent work, check this out: https://github.com/LexPredict/lexpredict-lexnlp
In short, there are at least two challenging issues. The first is representing the contract as a symbolic expression. In some fields, such as standard financial contracts, this may be possible; in others such as personal service contracts or more complex documents (merger agreements), it will be significantly more difficult. The second, which is what you seem interested in, is translating a human language contract into that symbolic expression. That's even harder.