regex - 如何使用 python 正则表达式在两个单词边界后捕获句子的其余部分(给出的示例)
问题描述
请参阅 python 代码。如何定义result
使其返回第二个单词边界之后的所有内容?在这种情况下“可能很长的句子的其余部分”
import re
content = '!wordOne wordTwo THE REST OF THE SENTENCE WHICH COULD BE LONG'
result= re.sub(r'^\W*\w+\W*', '', content)
我被卡住了,因为上面的代码正在返回“wordTwo THE REST OF THE SENTENCE 可能很长”。理想情况下,我希望它返回“可能很长的句子的其余部分”
要求:
- !wordOne 将始终以 ! 后跟 \w 字符
- wordTwo 将始终以空格为界,并由 \w
字符组成
解决方案
您可以使用
re.sub(r'^!\w+\s+\w+\s+', '', content)
查看正则表达式演示
细节
^
- 字符串的开头!
- 一个!
字符\w+
- 1+字字符\s+\w+\s+
- 1+ 个空格,1+ 个单词字符,1+ 个空格。
请参阅Reglex 图:
import re
content = '!wordOne wordTwo THE REST OF THE SENTENCE WHICH COULD BE LONG'
result= re.sub(r'^!\w+\s+\w+\s+', '', content)
print(result)
# => THE REST OF THE SENTENCE WHICH COULD BE LONG
推荐阅读
- hyperledger - 如何以单个组织应用程序的参与者身份访问您的作曲家应用程序?
- apache-spark - 如何在 Apache spark SQL 中计算不同的工作
- for-loop - 迭代删除特定类型的文件
- css - 我在修改 React 项目中 svg 组件的一些属性值时遇到问题
- php - 为什么 has_term 不适用于 AND 运算符?
- electron - Electron,窗口属于托盘。我不希望它显示在停靠栏中
- javascript - 如何更改 OpenLayers 5.3 的平铺语言
- java - 我应该为 List > 类型的参数设置什么值?
- c++ - 在命名空间内的类中使用带有运算符重载的字符串流时“不匹配'运算符>>'”
- java - 为什么我不能使用“String”作为优先级队列的参数?