【发布时间】:2018-02-15 17:01:12
【问题描述】:
我有这七个正则表达式。
(?:please |(?:can|could|will) you)
(?:eat|drink|pull up)
(?:this |that )?
(desert|drink|it)
(?:on|from )
(?:the |my )?
(table|chair|full ?plastic(?: plate)?|cup)
我需要使用这些正则表达式中的单词生成句子,例如:
“请在餐桌上吃掉这片沙漠”,
“你能吃我杯子里的饮料吗”等。
再举几个例子
请在桌子上吃这个沙漠,
- 请在桌子上吃这个沙漠,
- 你能不能把桌子上的这个沙漠吃掉,
- 你会在桌子上吃这个沙漠吗,
- 请在桌上喝下这片沙漠,
- 请在桌上喝下这片沙漠
请有任何想法..
【问题讨论】:
-
有一百万个句子可以满足你的追求。你的最终目标是什么?
-
我的目标是,我只需要使用正则表达式中出现的单词来生成句子。生成的任何句子都应该只包含上述正则表达式中的单词。
-
解析正则表达式以创建排列列表,然后排列。
-
但是,你想要所有的句子,只是一组随机句子,还是什么?
-
正则表达式设计用于处理输入,而不是生成输出。您当前的模式可能偶然只允许一组有限的单词组合,但假设您在其中的某些部分添加了
*、+,甚至.。这是自找麻烦,因此您不会找到执行此操作的标准方法。您可以编写自己的代码来解析模式,但此时它不会是正则表达式,它将是一个使用正则表达式的程序。
标签: python regex python-3.x